phpbar.de logo

Mailinglisten-Archive

[php] Komfortable PHP-Suche mit MySQL?

[php] Komfortable PHP-Suche mit MySQL?

Yannik Hampe yannik at cipher-code.de
Mit Apr 16 22:10:43 CEST 2008



Sascha Meyer wrote:
> Hallo PHP-Liste!
> 
> Ich grübele im Moment, ob es schon eine fertige Lösung für folgende
> Aufgabe gibt:
> 
> wenn ein User in ein Suchfeld eine Suche wie z.B.
> 
> [suchtext]("ATX Netzteil" ODER Netzteil) UND Enermax[/suchtext]
> 
> eingibt, dann würde ich gerne daraus einen SQL-String wie
> 
> [sql] ... WHERE (text LIKE '%ATX Netzteil%' OR text LIKE
> '%Netzteil%') AND text LIKE '%Enermax%'[/sql]
> 
> machen. Der Parser für das Statement müsste also Klammersetzung,
> Anführungszeichen und spezielle Schlüsselwörter (z.B. "AND", "OR",
> "+", "&", "-") erkennen und entsprechend umsetzen müssen.
> 
> Habt ihr vielleicht eine Idee, wo ich sowas finde? PEAR hat nichts
> dergleichen zu bieten, bei phpclasses bin auch nicht fündig geworden.
> Und bevor ich anfange, mir selbst eine Klasse für sowas zu schreiben,
> frag ich lieber nochmal nach :)
Selber bauen, ist ganz einfach :-D.
Ich hab mal mit sowas in der Größenordnung in Java geschrieben und 
mittlerweile ist daraus ein Parser geworden, der in der Lage ist 
komplette php-Skripte zu parsen. Also alles wird (noch) nicht 
untesrtützt, aber schon recht viel. Inklusive OOP *gg*.
Ok... Mein Code ist nicht so performant, aber darum ging es bei dem 
Projekt auch nicht. Problem ist nur, dass sowas in php nochmal 'ne Stufe 
langsamer würde...

Naja egal... Könnte man nützlich sein... Weisste was... Ich schreib mal 
eben was.
*Stunden später*
http://cipher-code.de/public_phpcode/SearchStringParser/SearchStringParser.php
Ist ein wenig Quick&Dirty, aber funktioniert. Das parst dir den 
Suchstring in einen schönen Baum und den dann wieder ein ein SQL-Query 
zu bekommen, schaffst du bestimmt :-).

> 
> Dankeschön!
> 
> Gruß, Sascha

Yannik

php::bar PHP Wiki   -   Listenarchive