[AJAX][SUCHE] Eingabefeld mit Dropdown-Vorschlägen aus Datenbank

Kampfwurst

Fleischersatz
ID: 87633
L
21 April 2006
911
146
Tag,
ich hoffe, dass es sich komplizierter anhört, als es ist.
Ich suche ein Snippet das folgendes kann:
Der Benutzer tätigt im <input type="text" /> eine Eingabe. Während der Eingabe soll per php in der (mysql-)Datenbank das, was der Benutzer bisher eingegeben hat mit Daten abgegichen werden. Datenbankeinträge die mit der Eingabe des Benutzers übereinstimmen sollen ihm dann per Dropdown zur Vervollständigung angeboten werden.

Ist das soweit verständlich oder habe ichs verkompliziert? :-?
Für den benutzer solls eigentlich aussehen wie bei der google-Version, die auch Suchbegriffe während des Tippens vorschlägt. Wenns geht sollte kein ganzes AJAX-Framework dranhängen, da ich die kleine Anwendung, die ich plane wirklich möglichst klein halten möchte. Es soll lediglich ein Script zur Verwaltung unserer WG-Einkäufe werden. :LOL:

Danke im Voraus für eure Mühen :)
 
Ich nehm an, das funktioniert nur, wenn die Liste von Vorschlägen nicht zu groß ist....?
Hab ich noch nie ausprobiert. Wir hatten diesen JS-Code an der Uni mal in der Übung eingesetzt und der is mir spontan eingefallen.

Bei solchen Vorschläge-Dingern würd ich nie ne Liste mit mehr als 20 Elementen erwarten. Der Benutzer soll ja bei normaler Bildschirmauflösung und ohne 50x Scrollen noch auswählen können.

An deiner Stelle, wenn du schon nach AJAX suchst und jetzt nach größerer Liste fragst, würd ich den Code n bisschen umbauen und dann eben doch die Liste vom Server holen und dir dann nur die richtigen Treffer geben lassen.
Dauerhaft - wie im originalen Code - alle Treffer in ein clientseitiges File zu stecken, kostet dich nur unnötig Traffic und der Useragent muss sich durch die Liste arbeiten. D.h. im Extremfall reagiert ihm der Browser nicht mehr, nur weil die Suche bei ihm aufm Rechner läuft und nicht bei dir aufm Server.

Wenn du nur ne Handvoll Begriffe hast, die sich auch nicht ändern, dann kannst dus so lassen; sonst halt mit AJAX dem Server die Arbeit machen lassen.