Wie implementiere ich eine Mehrfachauswahl?

1 Antwort

Für die Eingabe kannst du dem Nutzer ein Trennzeichen vorgeben (z.B. ein Komma), anhand dessen du später verschiedene Marken oder Baujahre auftrennen kannst.

Beispiel:

$marken = explode(",", $_POST["marke"]);

Die WHERE-Klausel des SQL Query kannst du mit einem OR erweitern.

Beispiel:

WHERE Markenname LIKE '%...%' OR Markenname LIKE '%...%'

Die Eingaben, die von außen (vom Nutzer) kommen, solltest du nicht einfach so in einen SQL-Query konkatenieren, andernfalls öffnest du so den Weg für eine SQL Injection. Verwende stattdessen Prepared Statements. Dynamische Werte werden hierbei durch Platzhalter (?) markiert und später von der MySQLi-Implementation implizit korrekt ausgetauscht (Beispiel).


slaxxer  28.11.2024, 10:28

genau dass ist das Problem, er wartet auf einen parameter der eine SQLinjection ermöglicht in diesem context, Wenn Marken und Baujahre binnem derselben Tabelle sind, kannst du mit nem INNER JOIN arbeiten, sind allerdings die daten in zwei tabellen aufgeteilt, kannst du mit Foreignkeys diese zusammenführen, dein vorhaben hat mehrere lösungen, die effizientere mMn wäre wenn du diese innerhalb einer tabelle zusammenführst