Mailinglisten-Archive |
Hi, zusammen.
Ich suche eine Patentl=F6sung f=FCr eine SQL-Abfrage durch alle Felder =
einer
Tabelle (php 4.0.6, MySQL 3.23.37).
Nach der Anweisung:
<FORM NAME=3D\"golem\" ACTION=3D\"$PHP_SELF\" METHOD=3D\"POST\">
[...]
<td><input name=3D\"suche\" size=3D80 maxlength=3D80 =
id=3D\"suche\"
tabindex=3D1></td>
<input type=3D\"submit\" name=3D\"sent\" value=3D\"Suchen\">
[...]
1. Versuch:
$result =3D mysql_query ("SELECT * FROM $db_table where * like
'%$suche%'", $link)
geht schief, weil der Asterisk f=FCr die einzelnen Zellen nicht =
angenommen
wird.
2. Versuch lt. MySQL-Doku Kapitel 12 (match...against):
$result =3D mysql_query ("SELECT * FROM $db_table WHERE MATCH
(zelle1,zelle2) AGAINST ('%$suche%');
Funktioniert so nicht. Ich finde nur Suchbegriffe, die mit einem ganzen
Wort =FCbereinstimmen. Ein Pattern-Matching ist wohl (noch) nicht
vorgesehen.
So: Wie kann ich eine Tabelle (mit ca. 11 Feldern und zuk=FCnftig ca. =
6000
Datens=E4tzen bei minimalem Zugriff (ca. 10 lesende Zugriffe pro =
Monat))
durchsuchbar machen (1 Feld ist vom Typ "LONGTEXT"). Ich hab' gesucht
und nichts gefunden. Hat jamend eine Idee? Ansonsten m=FCsste ich die
Datenbankl=F6sung bleiben lassen, alles in Textdateien ind Filesystem
schreiben und mit 'htdig' indizieren - nicht so toll.
Danke vorab und sch=F6nes Wochenende.
--=20
Wolfgang
php::bar PHP Wiki - Listenarchive