ここで行うべきことは、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を使用する必要があります 文字列名をカプセル化します。