Live search mit sql

Binio

Erfahrenes Mitglied
Ich gebe es auf...
Suche seit gut 2 Wochen eine lösung um das Youttube suchfeld nach zu bauen. Ihr kennt das sicher.
Man gibt "r" ein und er bietet euch alles was mit r zu tun hat als vorschlag an. Bsp.
Eingabe
Angebot:
Rammstein
radiohed
rad
...
wie bekomme ich das hin ?
Das ich das selbe feature nur für meine Postleitzahlen hin ?
ich habe eine Tabelle "ort" mit folgender Struktur:
id->int(11)->primschlüssel
plz->int(5)
ort->varchar(50)
Kurz gesagt es ist die Geodatenbank.
Nun habe ich eine User hinzufügen Maske bei der ich vorname,nachnamen,etc verlange.
Auch eine Plz wird verlangt...
Nun möchte ich den Benutzer bei eingabe der PLZ die Orte anzeigen lassen die in der DB darunter gespeichert sind.
Eigentlich ganz einfach nur habe ich kein Anhaltspunkt und gebe langsam auf. Habe gute PHP Kenntnisse aber leider keine Javascript kenntnisse :o(

Kann mir bitte einer Helfen ?
 
Hi,

Finde da leider kein Zugrif auf eine Datenbank...
gibt es da nicht eine einfachere Lösung ?

Verstehe ich jetzt nicht. Du sagst doch, Du hast die entsprechende DB auf Deinem Server und gute PHP-Kenntnisse. Jetzt musst Du doch nur noch ein kleines PHP-Script schreiben, das Dir die gewünschten Datensätze aus der DB holt und das Du mit der genannten Autocompleter-Funktionalität anstösst.
Wie stellst Du Dir denn eine einfachere Lösung vor?

LG
 
Hab jetzt was gefunden.
http://www.lycka.de/?q=node/150
und meine 2 Dateien sehen so aus.
PHP:
<html>
<head>
<script src="scriptacolous/prototype.js" type="text/javascript"></script>
<script src="scriptacolous/scriptaculous.js" type="text/javascript"></script>
</head>
    <body>
        <form action='index.html' method='POST'>
            <input type="text" id="InputFeld" name="InputFeld"/>
            <div id="AutocompleteChoices" class="autocomplete"></div>
            <script type="text/javascript">
                new Ajax.Autocompleter("InputFeld", "AutocompleteChoices", "get_list.php");
            </script>
            <input type='submit' value='Senden' style='margin:10px;' />
        </form>
    </body>
</html>
und
PHP:
<?php
if(isset($_POST['InputFeld'])){  // Post Variable Input Feld ?
    // Dann eine Abfrage mit like %string%
    include_once("../zugangsdaten.php");
    $sql = "SELECT ort from ort WHERE plz LIKE '%".$_POST['InputFeld']."'";
    $result= mysql_query($sql) OR die(mysql_error());
    echo '<ul>';
        while($row = mysql_fetch_array($result))
            echo '<li>'.$row['ort'].'</li>'; 
    echo '</ul>';
}
?>
die Dateien
prototype.js, scriptaculous.js, builder.js, effects.js, dragdrop.js, slider.js und controls.js
habe ich auch in den ordner
scriptacolous
gepackt...
aber es tut sich nichts...
sieht jemand den fehler ?
 
nun geht es aber das Problem ist wenn ich nur eine Zahl eingebe...
Lagt das total weil er alles sofort überprüft...
kann man den nicht sagen das er erst nach dem 3 Zeichen gucken soll ?
 
habs mit
PHP:
                        <input style='width:300px;' type="text" id="InputFeld" name="InputFeld" onkeyup="show_location()"/>
                        <div id="AutocompleteChoices" class="autocomplete"></div>
                        <script type="text/javascript">
                            if(String(document.getElementById('InputFeld').value).length>4){
                                new Ajax.Autocompleter("InputFeld", "AutocompleteChoices", "get_list.php");
                            }else{
                                alert('noch');
                            }
                        </script>
versucht aber leider ohne erfolg
 
Moin,

der Autocompleter hat diverse optionale Parameter, einer davon heisst minChars , der ist genau dafür gedacht ;)

Wie er verwendet wird, steht dort in der 4. Code-Box unter "Example".
 
Hi,

der Autocompleter akzeptiert zusätzliche Optionen:

PHP:
new Ajax.Autocompleter("InputFeld", "AutocompleteChoices", "get_list.php", {minChars: 3});

LG
 

Neue Beiträge

Zurück