sql >> データベース >  >> RDS >> Mysql

チェックボックスはランダムにチェックアウトしています

    ロジックには次の欠陥があります:$_POST 配列にはキーuntrainがあります その値はキーの内部配列room_id (チェックボックス名に含まれているため)および値user_id (チェックボックスの値)。 foreachループ内$room_id チェックボックスの値を割り当てました。これは実際にはuser_idsです。 。さらに、$_POST['untrain']を繰り返す必要があります 、そのキーをどこに持っていくのかわかりません$room->room_id から。

    これを次のように変更します:

    if(isset($_POST['submit'])){
        foreach ($_POST['untrain'] as $room_id => $user_id) {
            //sanitize $room_id
            $untrainQuery = "UPDATE room_users SET trained = '1'  WHERE room_id = $room_id";
            $db->update($untrainQuery);
        }
    }
    

    または、すべてのroom_idの配列がある場合は、それらを繰り返し処理して、どれがチェックされているかを確認できます。

    if(isset($_POST['submit'])){
        foreach ($room_ids as $room_id) {
            //sanitize $room_id
            if(isset($_POST["untrain[{$room_id}]"]){//that is, if it was checked
                $trained = 1;
            }else{
                $trained = 0;
            }
            $untrainQuery = "UPDATE room_users SET trained = $trained  WHERE room_id = $room_id";
            $db->update($untrainQuery);
        }
    }
    



    1. オールインワン動的クエリ用のPL/pgSQL

    2. MySQLの連続する行の違いを取得するにはどうすればよいですか?

    3. 指定された条件の行が少なくとも1つ存在するかどうかを識別します

    4. pip install mysqlclientは致命的なエラーを返しますC1083:ファイルを開くことができません:'mysql.h':そのようなファイルまたはディレクトリはありません