0

この質問にはおそらく簡単な解決策があります。これが私がやっていることです:

PHP ループでチェックボックス入力を動的に作成しています。

<td><input type=\"checkbox\" class=\"current\" name=\"User[$row[0]]\" value=\"1\" ></td>

このスニペット はname=\"User[$row[0]]\"、送信時にポスト経由で渡される配列の一部です。を使用するのではなく、 を使用User[]して連想配列を定義します$row[0]$row[0]実際には UserId である一意の識別子を使用できます。一意であることが保証されています。送信された配列のインスタンスの値は、1 または 0 (true または false) です。これは print_r(前述の配列) の結果です。

Array ( [1] => 1 
        [12] => 0
        [31] => 1 
        [4] => 1 )

私がする必要があるのは、ユーザー ID (たまたま配列のコンポーネントの識別子、つまり 1、12、31...) を SQL クエリで使用することです。例えば。

UPDATE...WHERE UserId = array identifier

同時に、同じクエリでそのコンポーネントの値 (0 または 1) を使用する必要があります。

どんな入力でも大歓迎です。

4

2 に答える 2

2

配列を処理するときは、foreach ループを使用します。

foreach($results as $key => $value)
{
    $sql .= "UPDATE...WHERE UserId = $key;";
}

これにより、各配列要素の値だけでなく、そのキーも使用できます。foreachの詳細については、php のマニュアルを参照してください。

于 2013-06-20T04:57:37.427 に答える
1

ペアでforeachループを使用するkey=>value

foreach($arr as $key=>$val) {
    $sql = "UPDATE table_name SET column = $val WHERE UserId = $key";
}
于 2013-06-20T04:59:00.610 に答える