我想从checkbox
中选择多行,并希望通过按钮点击一次更新所有行。我尝试过几种方式..但是没有工作......你能帮忙吗?它显示错误为Undefined index: checkbox
<td>
<input type="hidden" name="id" id="id" value="<?php echo $row["file_serial_id"]; ?>" />
<input type="checkbox" name="checkbox[]" id="checkbox[]" value="<?php echo $row['file_serial_id']?>" />
</td>
if(isset($_POST['send_btn']) and $_POST['send_btn']=="Send"){
$checkbox = $_POST['checkbox']; //from name="checkbox[]"
$countCheck = count($_POST['checkbox']);
for($i=0;$i<$countCheck;$i++){
$del_id = $checkbox[$i];
$sql2 = "UPDATE retained_file_mst SET mark_to_dispose=1 WHERE file_serial_id='$del_id'";
$result2 = mysql_query($sql2,$conn);
}
// if successful redirect to delete_multiple.php
if($result2){
echo "success";
}else{
echo "error";
}
}
答案 0 :(得分:0)
您可以像这样访问您的复选框:
$checkbox = isset($_POST['checkbox']) ? $_POST['checkbox'] : 0;
这允许您在用户输入时将其设置为正确的值,如果用户未选中则将其设置为0。
另一种选择是将其设置为0,这对于像数据库这样的东西可能更加空间保守。
由于您实际上将它用作数组,因此会更好:
$checkbox = isset($_POST['checkbox']) ? $_POST['checkbox'] : array();
或者只是快速if
查看$ checkbox是否为数组:
if(is_array($checkbox)){
// do the for statement
}
P.S如果您希望人们理解您的问题,请使用代码格式。我这次为你做了这件事