Mailinglisten-Archive |
Moin, ----- Original Message ----- From: "Schmitt, Wolfgang (BKA-IT22)" <wolfgang.schmitt_(at)_bka.bund.de> To: "'PHP Center'" <php_(at)_phpcenter.de> Sent: Friday, November 16, 2001 2:47 PM Subject: [php] Volltest-Suche in MySQL > Hi, zusammen. > > Ich suche eine Patentlösung für eine SQL-Abfrage durch alle Felder einer > Tabelle (php 4.0.6, MySQL 3.23.37). > > Nach der Anweisung: > > <FORM NAME=\"golem\" ACTION=\"$PHP_SELF\" METHOD=\"POST\"> > [...] > <td><input name=\"suche\" size=80 maxlength=80 id=\"suche\" > tabindex=1></td> > <input type=\"submit\" name=\"sent\" value=\"Suchen\"> > [...] > > 1. Versuch: > > $result = mysql_query ("SELECT * FROM $db_table where * like > '%$suche%'", $link) > > geht schief, weil der Asterisk für die einzelnen Zellen nicht angenommen > wird. Benutze concat() um die Spalten zusammen zufassen. Mache dich aber darauf gefasst das bei diesem Like kein Index wirkt und somit ein Fulltablescan gemacht wird. > 2. Versuch lt. MySQL-Doku Kapitel 12 (match...against): > > $result = mysql_query ("SELECT * FROM $db_table WHERE MATCH > (zelle1,zelle2) AGAINST ('%$suche%'); > > Funktioniert so nicht. Ich finde nur Suchbegriffe, die mit einem ganzen > Wort übereinstimmen. Ein Pattern-Matching ist wohl (noch) nicht > vorgesehen. Ja es werden nur Begriffe mit der exakten Schreibweise gefunden. Bin mir nicht sicher ob sich an in der neues Version was gaendert hat. Schon mal htdig, mnogosearch angesehen? Gruss Joerg Behrens TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
php::bar PHP Wiki - Listenarchive