0

我运行一个脚本来创建一个订单,这只是一个非常小的示例。我不太擅长 PHP 和动态表单。它从mysql数据库中提取数据。

<td>
<h3>Round Cuts</h3>
<?php while($row = mysql_fetch_array($round_cuts)){
$round_box_value = @$row["meat_names"];
$round_box_value_name = @$row["meat_names"];
echo " <input type=\"checkbox\" name=\"round_box_value\" value=\"$round_box_value_name\">     $round_box_value_name";
echo "<br>";
}?>
</td>

我真的只建立了基本的联系表格,我怎么能处理这样的动态表格。如果所有其他方法都失败了,我将采用所有可能的元素并对其进行编程,就像它不是动态的一样。不过一定有更好的方法。

即使是指向网站的链接也会有所帮助。我一直在寻找解决方案。谢谢。

4

1 回答 1

0

我会假设你的表作为主键id

从对复选框的微小更改开始:

<?php 
while($row = mysql_fetch_array($round_cuts)){
  echo sprintf('<label><input type="checkbox" name="round_box_value[]" value="%s"> %s</label><br>', $row['id'], $row['meat_names']);
}
?>

现在名称[]的末尾有一个告诉 php 它是一个值数组 + 为方便起见,我将复选框包装在一个标签中。

然后,当您处理表单时,您可以像这样简单地遍历 round_box_value

<?php
foreach ($_POST['round_box_value'] as $id) {
  // $id is the table reference from your previous table
}

// or query all the rows selected
$ids = array_map('intval', $_POST['round_box_value']); // "basic" sql injection handler
$sql = "SELECT * FROM table WHERE id IN (".implode(",", $ids).")";

应该产生类似的东西:

SELECT * FROM table WHERE id IN (2,5,7)
于 2012-06-05T21:46:18.860 回答