Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sql wählen Sie die Elemente aus, die mit dem Array übereinstimmen, und zeigen Sie sie in einer Reihe an

Was Sie hier tun sollten, ist die IN CLAUSE zu verwenden . Wandeln Sie $_POST[] um in eine kommagetrennte Zeichenfolge.

$choices = implode(', ', $_POST['choices']);

SELECT name, item, price, images FROM `my-tb` WHERE item IN ($choices)

Das erzeugt eine Abfrage wie:

SELECT name, item, price, images FROM `my-tb` WHERE item IN (a,b,d)

Dadurch wird auch verhindert, dass Sie Ihren $_POST durchlaufen und unnötigerweise mehrere Abfragen ausführen.

Nebenbemerkung

Ich bin mir nicht sicher, ob Ihre eigentliche Tabelle my-tb heißt aber wenn Sie hyphens haben In Ihrem Tabellennamen müssen Sie backticks verwenden um den Namen der Zeichenfolge zu kapseln.