mySQL-Anweisung!

Feldhofe

Erfahrenes Mitglied
Hallo!

Gibt es irgendeine Möglichkeit, folgendes als SELECT-Anweisung auszuführen?

Ich will ein Suchformular erstellen mit 4 Feldern.
(INTERPRET, TITEL, ALBUM, VOLLTEXT).

Wird nur INTERPRET ausgefüllt, sucht er alle, wo der vorkommt, wird z.B. INTERPRET UND ALBUM ausgefüllt nur die, wo zusätzlich noch das Album stimmt.

Man kann das natürlich mit tausenden von if-Schleifen machen...aber wie macht man das am besten ??


Schöne Grüße,
Feldhofe
 
PHP:
 $query = array(); // erstmal leeren, zur sicherheit ;)
 
 if (!empty($interpret)) {
   $query[] = "(interpret = '$interpret')";
 }

 if (!empty($interpret)) {
   $query[] = "(titel = '$titel')";
 }

 if (!empty($album)) {
   $query[] = "(album = '$album')";
 }

 $query = implode(' AND ', $query);
 $query = "SELECT * FROM table WHERE $query" 

 $res = mysql_query($query);
 while($row = mysql_fetch_array($res)) {
// etc. bla ;)
 }


du solltest vorher natürlich noch checken, ob wenigstens EINES der suchfelder ausgefüllt ist, da der query sonst ungültig wird ;)
 
Boah...danke!!!
Diese Arrays sind doch offenbar echt praktisch, aber irgendwie habe ich die nie geschnallt... :)

Also, machs gut!
Gruß Feldhofe
 
Vielleicht nochmal ne Frage:
Wenn ich jetzt genau diese Anweisungen sowohl aus Tabelle1 als auch Tabelle2 raussuchen will, nachher aber zusammen im Result (also egal aus welcher Tabelle sie kamen alphabetisch sortieren) verarbeiten will, wie mache ich das???

Gruß Feldhofe
 
Zurück