phpbar.de logo

Mailinglisten-Archive

[php] Volltest-Suche in MySQL

[php] Volltest-Suche in MySQL

Joerg Behrens php_(at)_phpcenter.de
Fri, 16 Nov 2001 15:49:12 +0100


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