0

我想从中选择多行,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";
    }
}
4

1 回答 1

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
}

PS 如果您希望人们理解您的问题,请使用代码格式。这次我为你做了

于 2012-06-29T10:40:27.843 回答