Wie zeige ich Daten mit einem Dropdown Menü in PHP an?
Hallo,
ich Versuche ein kleines PHP-Projekt zu realisieren. In diesem geht es darum, Filme aus einer MySQL Datenbank anzuzeigen. Im Dropdown Menü sind Genres zur Auswahl und wenn man auf eins drückt, sollen nur die Filme angezeigt werden, die mit dem Genre übereinstimmen. Leider weiß ich nicht wie ich dies realisieren soll. Nach zahlreichen Versuchen und Recherchen bin ich immer noch nicht am Ziel angelangt. Könnte mir jemand von euch vielleicht weiterhelfen?
Der bisherige Quelltext und die Tabelle ist im Anhang.
Danke im Voraus


2 Antworten
Also für das Dropdown selbst brauchst du kein PHP, da reicht einfaches HTML, du kannst aber natürlich auch die Genres via PHP auslesen und direkt in einem Select Feld anzeigen, aber das Dropdown scheinst du doch schon zu haben?
Wenn man dann ein Gerne ausgewählt hat, fragst du halt nur die Datensätze mit diesem Genre ab, also z.B. so in etwa:
$genre = $_GET['genre']; $sql = "SELECT * FROM tabellenname WHERE genre = '". $genre ."'"; ...
Bzw würde ich da eher Prepared Statements verwenden, da sonst die Gefahr einer SQL Injection besteht, aber das Query wäre ansonsten ja mehr oder weniger das gleiche.
Nach der DB Verbindung erstellst du eine Query, in der alle Ergebnise abgefragt werden, die dem Suchbegriff entsprechen.
$category = "beliebigeKategorie"; $resultSet = $mysqli->query("SELECT * FROM table WHERE category = $category");
In der Spalte category könnte in der Tabelle table die jeweilige Kategorie gespeichert sein.
Per While-Schleife lässt du dann alle Einträge der Reihe nach ausgeben. Liefert MySQL als Ergebnis 0, erscheint eine Ausgabe via echo.
if($resultSet->num_rows != 0) { while($rows = mysqli_fetch_assoc($resultSet)) { $var1 = $rows['row1']; $var2 = $rows['row2']; echo " $var1 $var2 "; } }else{ echo "Nichts gefunden"; }
LG
Die Variablen ($var) könnten in dem Fall Daten wie Titel, Regisseur, etc. des Films festlegen. Die echo-Ausgabe wird dann in der festgelegten Form so lange reproduziert, bis keine weiteren Ergebnisse mehr vorliegen.
Könnte dann evtl. so aussehen:
echo "
Filmtitel: $var1
Regisseur: $var2
";