Sven Rautenberg: Suchfunktion für mySQL Datenbank

Beitrag lesen

Moin!

Jetzt stehe ich aber auf dem Schlauch:
Es können ja auch mehrere Suchbegriffe eingegeben werden, dann sind die Suchergebnisse natürlich nur Daten, die den Text in der eingegebenen Reihenfolge enthalten. Also spalte ich $Suchbegriff mit $Suchbegriff_Array = explode(" ", $Suchbegriff) auf.
Aber nun???
Wie formuliere ich die Datenbankabfrage so, dass alle $Suchbegriff_Arrays berücksichtigt werden (AND) bzw. mindesten einer (OR)?

Für AND oder OR mußt du dich irgendwie vorher entschieden haben (oder den User fragen). Dann bastelst du einfach den Suchstring neu zusammen:

$suchbegriff="spalte LIKE '%".implode("%' AND spalte LIKE '%",$Suchbegriffe_Array)."%'";

IMPLODE setzt das Array zu einem neuen String zusammen und fügt dabei den Trennstring ein:
xxxxx = Arrayelement
TTTTT = Trennstring

xxxxxTTTTTxxxxxTTTTTxxxxxTTTTTxxxxx

Laß dir einfach das Ergebnis per Echo ausgeben und guck ihn dir an. Der Rest besteht nur noch darin, vorne und hinten die passenden Reststrings zu platzieren.

- Sven Rautenberg