Ingo Dehne: Spezielle Suchmaschine

Hallo,

ich habe folgendes Problem.
Ich habe eine recht große Liste mit Chemikalien.
Wenn nun jemand in dieser Liste einen Begriff sucht, so gibt er den ersten Buchstaben in ein Eingabefeld ein. Darauf hin soll in einem Ergebnisfeld alles erscheinen was dazu passt.

Also nach der Eingabe von "c" alle Begriffe die mit "c" anfangen. Kommt dann ein zweiter Buchstabe hinzu, z.B. ein "h", sollen nur noch die Begriffe die mit "ch" beginnen erscheinen usw.

Wenn man dann in der Liste den Begriff gefunden hat den man haben will, sollte man ihn anklicken können, um dann auf eine hinterlegte Seite zu verzweigen.

Kann ich das mit Javascript lösen, oder ist php evtl. besser geeignet?

Hat vielleicht jemand von Euch so etwas schon einmal gemacht und kann mir Quellcode zu verfügung stellen?

Habt Ihr vielleicht einen Link auf eine Seite auf der Ich Quellcode finden kann, oder wo o.g. Funktion verwirklicht wurde?

Vielen Dank für Eure Antowrten.

Gruß

Ingo Dehne

  1. Hallo,

    Kann ich das mit Javascript lösen, oder ist php evtl. besser Javascript ist für eine solche Anwendung ungeeignet; PHP in Verbindung mit einer Datenbank (MySQL) (oder Textfile).

    Habt Ihr vielleicht einen Link auf eine Seite auf der Ich Quellcode finden kann, oder wo o.g. Funktion verwirklicht wurde?

    Du brauchst:

    1 x Html-Formular mit einem Eingabefeld und Submitbutton
    1 x PHP-Script welches den gewünschten Suchbegriff entgegen nimmt und in eine SQL-Select Query einbaut (...WHERE" . $suchbegiff . "%). Und Dir das entsprechende Ergebnis ausgibt.
    1 x Datenbank in der Deine Begriffe hinterlegt sind, Du kannst Alternativ auch die Begriffe in eine Datei schreiben und per SQL von dort ausschreiben

    Ansonsten hilft Dir:
    MySQL Manual http://www.mysql.com/doc/de/index.html
    PHP Manual http://www.php.net/manual/de/

    Gruss AndreD

  2. Hallo Ingo,

    Ich habe eine recht große Liste mit Chemikalien.
    Wenn nun jemand in dieser Liste einen Begriff sucht, so gibt er den ersten Buchstaben in ein Eingabefeld ein. Darauf hin soll in einem Ergebnisfeld alles erscheinen was dazu passt.

    Wie groß ist den "groß"? Ab mehreren hundert würde eine Vorsortierung mit Links wie: "A, B, C ... Z" sicherlich nicht schaden.

    Also nach der Eingabe von "c" alle Begriffe die mit "c" anfangen. Kommt dann ein zweiter Buchstabe hinzu, z.B. ein "h", sollen nur noch die Begriffe die mit "ch" beginnen erscheinen usw.

    Wenn man dann in der Liste den Begriff gefunden hat den man haben will, sollte man ihn anklicken können, um dann auf eine hinterlegte Seite zu verzweigen.

    Kann ich das mit Javascript lösen, oder ist php evtl. besser geeignet?

    Mit php bist du auf der sicheren Seite. Du musst aber für jeden Buchstaben mit dem Server kommunizieren. Das erzeugt viel unnötigen Traffik. Javascript ist wackeliger aber u.U. schneller.

    Ich würde dir ein "Suchen"-Feld in Verbindung mit php vorschlagen.
    Im Sinne von: "Geben Sie den Anfang der gesuchten Chemikalie ein" -> Go Der Anwender kann nun 1-viele Buchstaben eingeben und dein php-Script liefert ein passendes Ergebnis. Möglicherweise auch zusätzlich zu einem javascript.

    Grüße,

    Maxx