如何在PHP中获取整个动态行的值?

时间:2017-05-08 17:54:48

标签: php html mysql

我有一个由给定的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

我拿了脚本部分并且更新了仍然没有工作。我相信应该有一些解决方案。

1 个答案:

答案 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);
   }
});

请注意,这是未经测试的,但只是演示了如何将一组键名称与索引相匹配,可以在表格单元格中找到他们的数据