这是我创建一个从数据库中读取的html表单的代码,允许用户检查和取消选中640个项目中的每个项目的框。这是form.php:
// execute query
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
// see if any rows were returned
if (mysql_num_rows($result) > 0) {
// yes
// print them one after another
echo "<html><body> <table cellpadding=10 border=1>";
while($row = mysql_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$row['stickerID']."</td>";
echo "<td>" .$row['stickerName']."</td>";
echo "<td>".$row['stickerSection']."</td>";
echo "<td>"?>
<form name="some form" action="editform.php" method="post">
<input type="checkbox" name="<?php echo $row['stickerID'] ?>" value=" <?php echo $row['stickerStatus'] ?> ">
<?php "</td>";
echo "</tr>";
}
echo "</table></body></html>";
echo " " ?>
<input type="submit" name="editWish" value="Edit">
</form>
<?php " ";
} else {
// no
// print status message
echo "No rows found!";
}
然后,用户必须能够单击“提交”并在mysql数据库中更新这些值。
现在,当我点击提交按钮时,它会发布以编辑form.php,其中包含:
<?php
//echo results
foreach($_POST['stickerID'] as $k=>$v ){
echo $k;
echo $v;
}
?>
但我没有得到任何回应。我认为问题可能是我实际上为每一行创建一个表单而不是一个带有许多行/复选框的表单。但是当我将表单代码和标记移动到行所在的行之后,我甚至无法加载form.php,它只会加载空白。
我的问题在哪里? :) Thx
答案 0 :(得分:2)
将您的复选框命名为:
<input type="checkbox" name="stickerID[]" value=" <?php echo $row['stickerStatus']; ?> ">
正如Amal已经说过将您的代码更新为PDO或MySQLi
答案 1 :(得分:0)
您可以使用标记执行此操作: -
echo "<td>" .$row['stickerName']."</td>";
echo "<td>".$row['stickerSection']."</td>";
echo "<td>"?>
<form name="some form" action="editform.php" method="post">
<input type="checkbox" name="checkbox[]" value=" <?php echo $row['stickerStatus'] ?> ">
<?php "</td>";
echo "</tr>";
你的PHP代码: -
$all_checkes_checkbox = $_POST['checkbox'];
这是您所有选中的复选框: - 这个数组也包括键和值