+PHP: Suchfunktionen ordnetlich Programmieren. Tutos?
Mortimer
- datenbank
Hi
Ich will bei meinem Projekt eine Suchfunktion integrieren bei dem man nach Produkten suchen kann.
Ich habe sowaa noch nicht getan und google wirft mir dafür nur zimliche Wacky-Entrys aus ("Sie Suchen einen Freelancer?" *rolleyes*)
Weiss jemand ein (gutes) Thread oder Tuto das ich mir mal ansehen könnte um zu lernen wie man Suchfunktionen erweitert erstellt.
Erweitert meint funktionen wie 'mehrere Wörter', '+' und '&' Zeichen beachten, etc. pp
Ich danke schonmal im Vorraus da eigentlich immer gute Hilfen kommen... :)
mfg aus Köln
Mortimer
Moin!
Weiss jemand ein (gutes) Thread oder Tuto das ich mir mal ansehen könnte um zu lernen wie man Suchfunktionen erweitert erstellt.
Hier kommt noch ein Freelancer: Um Deine Frage zu beantworten müsste man Kenntnis darüber haben, wie denn die Suchfunktion beschaffen sein soll.
Ganz allgemein, und ich unterstelle hier mal die Benutzung einer Datenbank, geht das, was Du willst über die üblichen Funktionen zur Textverarbeitung, mit denen einen SQL-Statement erstellt wird. Dieses wird dann der Datenbank zur Beantwortung geschickt, deren Antwort dann wiederum ausgewertet wird.
Du benötigst also grundlegende PHP und SQL- Kenntnisse und den Mut, beides schnödes zu nützlichem zu verquicken.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Ach so: Tutorials:
Hm.
http://de3.php.net/manual/de/function.mysql-query.php
http://selfphp.info/ (Funktionsreferenz)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Ich code PHP und SQL schon etwas...
Aber mir geht es halt darum dass nicht jemand in die Suche "Kugelschreiber" eintippt und danach eine SQL anfrage gestartet wird "SELECT * FROM X WHERE name = '$Kugelschreiber'" sondern man die suche schon etwas auführlicher machen kann...
sprich "Kugelschreiber Rot Gummigriff" und es halt doch etwas genauer geschaut wird.
Oder ist die einzigste Lösung da es zu explode(" ",$kugelschreiber) zu machen und dann einzeln jeden Array in der DB abzufragen?
ciao
Moin!
Du meinst sowas: http://www.it-schule.de/seminarsuche.php (Das geht schon, es fehlen aber im Moment Daten...)
Das mit dem Array kannst Du machen. Das Stichwort heisst "Wichtung". Du machst das mit dem Array und fragst ertmal die Datenbank ganz normal ab. Die Fundstellen schreibst Du in eine Heap- Tabelle (temporär, achtung, kann nicht alles aufnehmen.
Diese heap- Tabelle erhält eine extra- Spalte "Treffer".
Bei den nachfolgenden Abfragen musst Du prüfen, ob der Eintrag schon vorhanden ist:
wenn ja: Treffer erhöhen
wenn nein: Artikel aufnehmen.
Zu guter Letzt fragst Du Deine temporäre Tabelle ab (... oder by treffer desc limit X) (+ Join auf die Artikel- Tabelle für die nicht speicherbaren Daten) und löschst erstere. Als Name für die temporäre Tabelle bietet sich die session- id an. Natürlich wirst Du immer mal schauen müssen, ob sich irgenwelche "toten" Tabellen in der Datenbank sielen und Speicher fressen. Es bietet sich also an, die heaps in einer separaten Datenbank zu halten und mittels script gelegentlich zu droppen.
Selbstredend gibts noch andere Möglichkeiten, zum Beispiel das Halten der temporären Daten in einem Array.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®