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 に設定できます。

もう 1 つの方法は、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 に答える