Autovervollständigen mittels Javascript & mysql

Endanwender

Grünschnabel
Hallo alle zusammen!

Also folgendes Problem!
Gibt es eine Möglichkeit ein Input-Textfeld mittels Autovervollständigen zu füllen! Genauer soll während der Eingabe geprüft werden, ob der Name, den man eingibt, schon in einer Datenbank vorliegt! Wenn ja, dann soll ein kleines Auswahlfeld erscheinen, bei dem man bei Übereinstimmungen den betreffenden Namen auswählen kann, so dass weitere Textfelder automatisch mit zusätzlichen Infos gefüllt werden können?

Hat da jemand ne Idee, oder gibt es da schon Lösungen?

Schöne Grüße
der Endanwender
 
Hallo,

hier gibt´s ein recht nettes Beispiel zu dem Thema.
Da bekommt die Funktion ein Array mit den Werten übergeben, die später als Autocomplete-Auswahl hergenommen werden sollen.
Und das kannste ja aus ner MySql Tabelle füllen lassen. :-)

Hab nur mal kurz reingeschaut und es ist recht gut im Code beschrieben, was gemacht wird.

Grüße
 
Danke für den Hinweis!

Das Problem sehe ich aber darin, dass mit steigender Anzahl der Einträge in der Datenbank der Array wahnsinnig groß werden kann! Von wegen Speicherbelegung usw.! Weiß nicht ob das vernachlässigbar ist...?

Sonst hatte ich den Gedanken auch schon mit dem Array, lediglich die Umsetzung per Javascript ist mir fremd gewesen! Ich werd es mal testen und bei Bedarf gerne meine Erfahrung hier posten!

Schöne Grüße
der Endanwender
 
Kleine Frage am Rande!

Wie übergebe ich ein Array aus php an eine Javascript Funktion?

Wäre dankbar für einen kleinen Tip! Ich komme selbst nicht drauf, verdammt!

MFG
der Endanwender
 
Hallo,

hier mal ein Beispiel wie du es machen könntest...

Code:
$result = mysql_query("SELECT Artikelnummer 
                                   From Artikel
                                  ORDER BY Artikelnummer");
$p=0;

while ($row = mysql_fetch_array($result))
{
   $artikelnr[$p]= "$row[0]";
   $p++;
}

$array1 = implode (', ', $artikelnr);

echo"<script type='text/javascript'>
           var artikelnr = new Array ($array1);
     </script>";
}

Wenn es nicht nur Zahlen sind, dann musst du oben die entsprechenden Anweisungen durch die hier ersetzen:

$array1 = implode ('\',\' ', $artikelnr);
var artikelnr = new Array ('$array1');";


Grüße
 
Endanwender hat gesagt.:
Das Problem sehe ich aber darin, dass mit steigender Anzahl der Einträge in der Datenbank der Array wahnsinnig groß werden kann! Von wegen Speicherbelegung usw.! Weiß nicht ob das vernachlässigbar ist...?
Man kann angeblich über XMLHttpRequest mit JavaScript Informationen vom Server beziehen, ohne die Seite neu zu laden. Das wurde hier schon das ein oder andere mal erwähnt. Ich habe damit jedoch noch nicht gearbeitet, daher habe ich nur mal den erstbesten über Google gefundenen Link gepostet.

Gruß hpvw
 

Neue Beiträge

Zurück