phpbar.de logo

Mailinglisten-Archive

[php] Volltest-Suche in MySQL

[php] Volltest-Suche in MySQL

Schmitt, Wolfgang (BKA-IT22) php_(at)_phpcenter.de
Fri, 16 Nov 2001 14:47:35 +0100


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