ここで行うべきことは、IN CLAUSE
を使用することです。 。 $_POST[]
を変換します カンマ区切りの文字列に。
$choices = implode(', ', $_POST['choices']);
SELECT name, item, price, images FROM `my-tb` WHERE item IN ($choices)
次のようなクエリが生成されます:
SELECT name, item, price, images FROM `my-tb` WHERE item IN (a,b,d)
これにより、$_POST
をループしないようになります。 不必要に複数のクエリを実行します。
サイドノート
実際のテーブルの名前がmy-tb
かどうかはわかりません ただし、hyphens
がある場合 テーブル名にはbackticks
を使用する必要があります 文字列名をカプセル化します。