您好我有一个从MYSQL填充的表,我想要做的是在每行上都有一个复选框,我可以选择然后按一个按钮并一次更新所有选定的行。
以下是我的复选框的代码。
<input type='checkbox' name='checked[]' value='<?php echo $row['id']; ?>'>
这是我的PHP代码
if ($_POST['submit']){ //check if they submitted
//see which check boxes were selected
foreach ($_POST['checked'] as $key => $val){
//update records
$result = mysql_query("UPDATE masterip_details SET type='3' WHERE id='$key'")
or die(mysql_error());
}
}
目前没有任何反应,如果我尝试使用echo键,那么我就没有ID了
答案 0 :(得分:1)
您需要使用$val
而不是$ key。 $key
只会包含checked[]
我还删除了if($_POST['submit'])
代码,并将其替换为if(count($_POST['checked']>0))
if (count($_POST['checked']>0)){
foreach ($_POST['checked'] as $key => $val){
$val = mysql_real_escape_string($val);
$result = mysql_query("UPDATE masterip_details SET type='3' WHERE id='{$val}'");
}
}
答案 1 :(得分:0)
未选中的复选框将不会发送到服务器,我记得有关它的内容只有在选中时才发送1。
因此,您可以将脚本更改为:
<input type='checkbox' name='checked[<?php echo $row['id']; ?>]' />
并使用$ key
进行检查