mysql 単一テーブルの複数の更新 php 単一テーブルの複数の更新
//単一テーブルの複数の更新: テスト SQL: 成功 (成功した場合は更新数を返し、失敗した場合は 0 を返します)
// $d->execute("UPDATE ez_shop_goods SET 在庫 = CASE id WHEN 3 THEN 1 WHEN 4 THEN 1 WHEN 5 THEN 100 END WHERE id IN (3,4,5)");
この SQL の意味は、id=3 の場合、display_order の値は 1、id=4 の場合、display_order の値は 1、id=5 の場合、display_order の値は 100 です。
tp バージョンに変換:
$goods_ids は更新するテーブルのID配列です
$value3はIDに対応する在庫フィールドの値の配列です
ID は在庫フィールドの値に対応します。
$sql = "ez_shop_goods SET 在庫 = CASE id "を更新します
foreach ($value3 as $id => $ordinal) { <br>
$sql .= ' WHEN '.$ordinal['id'].' THEN '.$ordinal['inventory'];
} <br>
$ SQL. = "($ IDs) の WHERE ID を終了";
// dump($sql);exit;<br>
$res = $d->execute($sql);<br>
if($res == 0){<br>
$errcode = -1;<br>
false を返します。
}<br> <br><br><br><br>