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

PHP /MySQLUpdateチェックボックスの選択をデータベースに

    ここには、値をゼロに設定するものはありません。チェックされていないボックスは、$_POST配列に含まれていません。

    すべてのチェックボックスの名前の個別のリストを作成し、それらを循環して、$_POST配列と比較する必要があります。

    編集: コードを書くつもりはありませんでしたが:

    $allids = array('id1','id2','id3');
    
    foreach ($allids as $oneid) {
      $val = (int) isset($_POST[$oneid]);  // will be 0 or 1
      mysql_query("UPDATE istable SET showPP = $val WHERE id = ".mysql_real_escape_string($oneid));
    }
    

    すべてのid値が安全であることがわかっているので、ここではmysql_real_escape_stringは実際には必要ないことに注意してください。ただし、誰かが後でやって来て、$allids配列を不注意に変更した場合に備えてください。

    再編集: 探すIDがわからないとします。

    mysql_query("UPDATE istable SET showPP = 0");
    foreach ($_POST as $oneid=>$nothing) {
      mysql_query("UPDATE istable SET showPP = 1 WHERE id = ".mysql_real_escape_string($oneid));
    }
    


    1. TO_SECONDS()がMariaDBでどのように機能するか

    2. GIS:PostGIS /PostgreSQL対MySql対SQLServer?

    3. Oracle SQL&PL / SQLとは何ですか?初心者が知っておくべきことすべて

    4. SETSTATISTICSIOからの誤解を招くデータに注意してください