Isch: Datenverarbeiten mit JavaScript

Beitrag lesen

ich möchte gerne eine Suchleiste programmieren, die ähnlich wie Google Vorschläge anzeigt. Ich würde das am Liebsten mit einer Datei lösen, die eingelesen wird, was nach meiner Kenntnis nur mit PHP geht. Ich würde dies aber gerne mit Js machen.

Als Erstes solltest du die Sachen richtig zuordnen. Änderungen an der im Browser angezeigten Seite kannst du nur mit Javascript durchführen, weil schlicht keine andere Sprache (genauer: kein anderer Interpreter) im Browser, in der Webseite zur Verfügung steht. An der Datenquelle kann das anders aussehen; handelt es sich um den Server, steht dir dort sicherlich PHP zur Verfügung (weil's zum Standardumfang gehört). Es gibt aber auch Javascript-Interpreter, es könnte Perl sein, Python, C, Bash usw. Ein Server bietet eine flexiblere Umgebung.

Da du von einer Datei geschrieben hast, gehe ich mal davon aus, dass sie auf dem Server liegt und Möglichkeiten enthält, aus denen die Vorschläge ausgesucht werden. Du wirst dich in jedem Falle informieren müssen, wie du mit Javascript Daten vom Browser aus beim Server abfragst (Stichwort AJAX) und wie du Vorschläge anzeigst (zB Einblenden einer <ol>).

Je nach Umfang der Möglichkeiten musst du dann entscheiden, ob du die Auswahl der Vorschläge serverseitig erledigen willst und nur die Vorschläge zum Browser sendest (so machen es Suchmaschinen), oder ob du alle Möglichkeiten in den Browser lädst und dort die Vorschläge aussuchst (vorteilhaft nur bei kleinem Umfang und falls die Daten überhaupt nicht vertraulich sind, es also egal ist, wenn man in einem Rutsch Kenntnis sämtlicher deiner Möglichkeiten erlangen kann).

Falls du aus einer Wortliste Vorschläge machen willst, informiere dich dann über N-Gramme. In der Wikipedia gibt es einen Artikel dazu (Einzahl N-Gramm), der als Startpunkt dienen kann, auch wenn er auf den ersten Blick vielleicht etwas in die Irre führt. Dass im Artikel mehrmals auf die Anwendung in der Rechtschreibkorrektur hingeweisen wird, deutet aber schon an, dass du auf Basis einer N-Gramm-Liste deiner Möglichkeiten ratzfatz passende Vorschläge finden kannst, auch bei falscher Nutzereingabe. Vergleichst du hingegen stur komplette Wörter, wirst du nicht weit kommen.

Ich hoffe, das reicht erstmal für den Einstieg.