PHP / Mysql Grobe suche

Resident_DeeJay

Erfahrenes Mitglied
Guten Morgen allerseits

Habe da mal eine Frage bezüglich der suche.
Wie ich explizit nach etwas suche weiss ich

SELECT * FROM table WHERE id = '$id'

Mir geht es jetzt darum ein such Formular zu erstellen um alle Tabellen nach diesem schlüssel wort zu durch suchen, und diese Suchergebnisse die diesen suchbegriff beinhalten auflisten auflisten zu können.


wie Müsste also meine SQL abfrage aussehen wenn ich nicht nur die ID abfragen möchte sondern im Namen im Text usw. suchen möchte?
 
Code:
SELECT * FROM table WHERE name LIKE '%$text %' OR beschreibung LIKE '%$text %'...usw
wobei du für name bzw. beschreibung die entsprechenden spaltennamen einsetzen solltest und $text die variable ist die den gesuchten text enthält.
die funktion Where xyz LIKE '%abc%' sucht in der spalte xyz nach dem textteil abc, wobei davor und danach etwas stehen kann.
wenn nach abc am anfang der spalte xyz gesucht werden soll, dann musst du nach xyz LIKE 'abc%' suchen...
...am ende dann logischerweise xyz LIKE '%abc'
% entspricht in diesem fall also einer wildcard :)
 
Also bei Riesigen Datenbanken ist das auch ein Riesiger code :p

Wie dem auch sei ich Probier den gleich mal aus :)

Besten Dank.

Gruß
 
Zuletzt bearbeitet:
Kurtze zusätzliche frage

Wie kann ich denn die Groß und kleinschreibung als suchrelevanten wert benutzen ?

Beispielsweise ich suche nach Tutorials und ich lege fest das auf Große und kleines Rechtschreibung geachtet werden soll, das er eben nur ergebnisse wie Tutorials und nicht tutorials liefert.


das dies geht weiss ich, wie weiss ich nicht.
Wär Super wenn mir da auch noch geholfen werden könnte.
Werde dies heut Mittag irgend wann Brauchen wenn ich an dem Punkt des scriptes angekommen bin.


Gruß
 
Es ist standardmässig "Case sensitive".
Wenn du es umgehen willst, würde ich das Suchwort mit strtolower() in Kleinbuchstaben verwandeln und gleiches mit ich glaub LOWER() im SQL-Statement.
 
Zurück