Kurt: 2. Teil Anzahl "Wörter" in einem String zählen

Beitrag lesen

keinster Weise

keiner Weise :P

Ok, sag mir, wie ichs besser machen kann.

Tabelle:

ID
Name
Vorname
Strasse
PLZ
Ort
Tel
Fax
Bemerkungen

Ich möchte eine Ergebnissmenge mit den Spalten

Name
Vorname
Strasse
PLZ
Ort
Tel

in denen der/die Suchbegriffe in von mir benannten Spalten vorkommen (und zwar ausdrücklich %suchbegriff%), die vom User eingegeben werden.

Bisher ist meine Query

select Name, Vorname, Strasse, PLZ, Ort, Tel  
from tabelle  
where  
Name LIKE "%$suchbegriff%" OR  
Vorname LIKE "%$suchbegriff%" OR  
Strasse LIKE "%$suchbegriff%" OR  
PLZ LIKE "%$suchbegriff%" OR  
Ort LIKE "%$suchbegriff%" OR  
Tel LIKE "%$suchbegriff%" OR  
Fax LIKE \"%$suchbegriff%\"
  1. Was ist an der Query besser zu machen, um dieselbe Ergebnissmenge zu erhalten?

  2. Diese Query ist ja nur für ein Wort korrekt. Für z.B. 2 Worte müsste sie ja wie folgt aussehen

select Name, Vorname, Strasse, PLZ, Ort, Tel
from tabelle
where
(Name LIKE "%$suchbegriff1%" AND Name LIKE "%$suchbegriff2%") OR
usw.

Da ich aber jede Menge dieser Suchanfragen für verschiedenen Tabellen habe und auch nicht weiß, wieviele Worte vom User eingegeben werden, suche ich nach einem Weg, mir quasi sowas wie ein Query-Template zu basteln, was sozusagen immer passt. Ansonsten muss ich natürlich in jede Query manuell rein und es per Hand umstricken.

Ist einigermaßen klar geworden, worauf ich hinaus will?

Freundliche grüße, Kurt