我似乎无法让我的复选框只更新复选框。现在,当我检查任何方框并单击“提交”时,它将标记值为1的最后一行(即使该行未被选中)。我在这里丢失了什么,以便发布到同一页面并更新任何已检查的框?复选框只更新数据库中的最后一行
while($row = mysql_fetch_array($result)) {
$addr = $row['address'];
$info = $row['info'];
$date = $row['date'];
$status = $row['status'];
$id = $row['id'];
?>
<tr>
<td><?php echo $id; ?></td>
<td><?php echo $addr; ?></td>
<td><?php echo $info; ?></td>
<td><?php echo $date; ?></td>
<td><?php echo $status; ?></td>
<td><input type="checkbox" name="handled" value="1"><br></td>
</tr>
<?php
}
?>
</table>
<?php
if (isset($_POST['checked'])) {
echo "Posted!";
$sql2 = "UPDATE requests SET status = 1 WHERE id = '".$id."'";
mysql_query($sql2) or die(mysql_error());
}
?>
<br>
<form action="" method="post">
<input name="checked" type="submit"/>
[您的脚本存在SQL注入攻击风险。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
如果可以的话,你应该[停止使用'mysql_ *'函数](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 [这些扩展](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中删除。了解[编写](http://en.wikipedia.org/ wiki/Prepared_statement)语句[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart .prepared-statements.php)并考虑使用PDO,[它确实不难](http://jayblanchard.net/demystifying_php_pdo.html)。 –
无法理解您所要求的内容 –