Sven Rautenberg: die DB durchsuchen nach begriffen

Beitrag lesen

Moin!

Also, ich hab ne InetSeite, mit einem InputFeld. Dort kann man ein Suchbegriff eingeben, der in der DB durchsucht werden soll.

"Suche, so wirst du finden" fällt mir als blöder Spruch dazu ein. Dazu gleich mehr.

Meine DB heißt: TEST
In TEST gibt es 3 Tabelle. Tab1, Tab2 und Tab3.
Dort sind eine gewissen Anzahl von Spalten enthalten.

Jetzt will ich, das der eingegebene Suchbegriff, in TEST durchsucht wird, oder besser gesagt, in den Tabellen Tab1, Tab2 und Tab3.

"Suche, so wirst du finden - aber wo suchen?". Lege fest, in welchen Spalten der einzelnen Tabellen du suchen willst. Und dann sendest du das passende SELECT an die Datenbank, um in den genannten Spalten nach dem Suchbegriff zu suchen.

Da anzunehmen ist, dass die drei Tabellen unterschiedliche Strukturen haben (sonst wären sie eine einzelne Tabelle), mußt du dreimal für jede Tabelle abfragen.

Nur weis ich leider nicht, wie ich das realisieren soll.
Gibt es in SQL sowas wie:
$sql = "SEARCH ...."; ??? oder wie muss ich das lösen.

Wie gesagt: "SELECT... WHERE spalte1 LIKE '%SUCHBEGRIFF%' or spalte2 LIKE '%SUCHBEGRIFF%'"

Wichtig: Suchbegriff darf selbst keine uncodierten Prozentzeichen enthalten (die Prozentzeichen vor und hinter dem Suchbegriff sind Platzhalter für "beliebig viele Zeichen").

"Suche, so wirst du finden - aber was für ein Schrott kommt denn da raus?" So wird dann vermutlich deine erste Reaktion sein. "Suchen", wie man es von Suchmaschinen kennt, also einfach mehrere Suchbegriffe ins Feld eingeben, möglicherweise mit Plus- und Minuszeichen sogar noch Begriffe ein- oder ausschließen, und mit Anführungszeichen um Wortgruppen nach exakter Übereinstimmung zu suchen, sowie nicht nur nach Wortbestandteilen, sondern nur nach exakt vorkommenden Worten zu suchen - _das_ ist die Kunst. Und solch eine Aufgabe ist bei weitem nicht so simpel, wie die einfache Suche, wie oben skizziert.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)