我有一个由给定的sql查询填充的表,最后有一个单选按钮。 如何将所选单选按钮的整行值传递到其他页面?
results=mysqli_query($conn,$sqlitem);
while ($dat=mysqli_fetch_assoc($results)){
echo "<tr>";
echo "<td>".$dat['sellername']."</td>";
echo "<td>".$dat['itemname']."</td>";
echo "<td>".$dat['maker']."</td>";
echo "<td>".$dat['details']."</td>";
echo "<td>".$dat['condition']."</td>";
echo "<td>".$dat['price']."</td>";
echo "<td> <input type='radio' name='selc' width ='5px'> </td>";
echo "</tr>";
}
我尝试了各种组合但由于某种原因,整个行值都没有。我尝试的最后一个也是最接近的选项是SOMETHING CLOSELY SIMILAR
我拿了脚本部分并且更新了仍然没有工作。我相信应该有一些解决方案。
答案 0 :(得分:2)
您应该为每一行使用MySQL主键,将该信息传递给下一页,让PHP在新页面上对该项执行查询,而不是在页面之间显式传递内容。
也就是说,您可以跟踪回显数组中键的顺序,然后使用该数组将行转换为对象:
var keys = ['sellername','itemname','maker','details','condition','price'];
$('input[type=radio]').on('change', function(event) {
if (this.checked) {
var $tr = $(this).closest('tr');
var $cells = $tr.find('td');
var obj = {};
$.each($cells, function(index, cell) {
obj[keys[index]] = cell.textContent;
});
console.log('row data', obj);
}
});
请注意,这是未经测试的,但只是演示了如何将一组键名称与索引相匹配,可以在表格单元格中找到他们的数据