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

チェックボックスの値に基づいてMySQLにYesまたはNoを挿入します

    チェックボックスの問題は(あなたが指摘したように)、チェックされていないチェックボックスはデータを送信しないことです。

    これを回避するための標準的なトリックは...

    <input type="hidden" name="field_name" value="0">
    <input type="checkbox" name="field_name" value="1">
    

    チェックボックスをオンにすると、ドキュメントの後半に表示されるように、その値が送信されます。チェックを外すと、非表示の入力値が送信されます。

    その後、名前で値を確認するだけです

    $field = isset($_POST['field_name']) ? $_POST['field_name'] : false;
    $dbFlag = $field ? 'Yes' : 'No';
    

    特定のケースでは、page_idを含めます 入力名に、たとえば

    <input type="hidden" name="likebutton[416]" value="0">
    <input type="checkbox" name="likebutton[416]" value="1">
    

    そしてPHPで

    foreach ($_POST['likebutton'] as $pageId => $likeFlag) {
        $dbFlag = $likeFlag ? 'Yes' : 'No';
    
        // update DB
    }
    



    1. アプリがバックグラウンドまたはクローズ状態の場合、FirebaseメッセージサービスからSQLiteデータベースにレコードを挿入できません

    2. SQL結合に同じ名前の2つの列が存在する場合に、1つのテーブル列から値を取得する方法

    3. LIKEを使用したSQLUPDATE

    4. Postgresqlのスコア/ランクを使用したフルテキストクエリ