特定のグループ内のすべてのユーザーをリストする動的に生成されたテーブルがあり、各ユーザーには名前の横にチェックボックスがあります。グループ管理者は、これらのチェックボックスを選択または選択解除して、ユーザーを含める/除外することができます。MySQL テーブルには、0
または のいずれかである各ユーザーのステータス列があります1
。非表示の値を使用してボックスのチェックされていない状態を処理し、各ユーザーの一意の ID をキーとしてデータを配列として POST します。
したがって、私の POST データは次のように見える配列です。
Array ( [105] => 1 [106] => 1 [107] => 0 [108] => 0 [109] => 1 )
ここで、db を更新する必要があります。クエリをどのように表示するかを次に示します。
INSERT INTO users (uid,status) VALUES (105,1),(106,1),(107,0),(108,0),(109,1)
ON DUPLICATE KEY UPDATE status=VALUES(status);
もちろん、これは何も INSERT しませんが、単一のクエリですべての行を更新します。
私が理解できないのは、配列を使用してクエリを生成する方法です。特に、ユーザーの数 (配列内のアイテムの数) はさまざまです。
追加の調査の後、私の質問は次のように要約される可能性があります。
implode
この配列を回転させるために使用することは可能ですか:
Array ( [105] => 1 [106] => 1 [107] => 0 [108] => 0 [109] => 1 )
この文字列に:
(105,1),(106,1),(107,0),(108,0),(109,1)
配列内の項目を増減できる柔軟性はありますか?