ugrás a tartalomhoz

Ajax - találatok megjelenítése

Laszlo14 · 2012. Jan. 19. (Cs), 15.28
A kérdésem a következő...

Azt akarom elérni, hogy ha beírok egy betűt a egy text fieldbe akkor kérdezze le hogy kinek kezdődik ezzel a betűvekl a neve az adatbázisban és kínálja fel lehetőségnek a text alatt.

Tehát:

//PHP kód

$betuk = $_POST['betuk'];

$sql = "SELECT name FROM user WHERE felh_nev=LIKE'$betuk%'";

$result = mysql_query($sql);

$keres = array();

while($row = mysql_fetch_array($result){

    $keres[] = $row['felh_nev'];

}
    $keres = implode('<br />', $keres);
    echo $keres;

//JavaScript kód

function betuk(){

var xml = XMLHttpRequest();

var url = "feld_php.php";
var betuk = document.getElementById("felh_nev").value;
var atad = "betuk="+betuk;

xml.open("post", url, true);

xml.onreadystatechange = function();
    if(xml.readystate == 4 && xml.status == 200){
        #Itt nem tudom, hogy kellene megcsinálni, hogy a text mező alatt jelenjenek meg úgy a találatok, hogy rákattintva, a text mezőbe beírodjon.
    }
xml.send(atad);
}

<input type="text" id="felh_nev" name="felh_nev" onKeyUp="betuk();">
 
1

jqueryUI - atocomplete

TeeCee · 2012. Jan. 19. (Cs), 16.24
Miért nem próbálkozol egy kész és jó megoldással?
jqueryui.com/demos/autocomplete

Én pl. a jQuery-t kapásból szinte minden projekthez berakom. Ha valahol UI is kell a webes alkalmazáshoz (és ahhoz kell, csak weboldalhoz nem mindig), akkor meg a jQueryUI-t is. Másik kategória az ExtJs, az a masszívan alkalmazás jellegű webes alkalmazásokhoz jó... No de picit elkalandoztam. Válasz: jQueryUI - autocomplete...
2

DOM manipuláció

Poetro · 2012. Jan. 19. (Cs), 16.43
Kezdjük a rosszal... felhasználótól jövő adattal feldolgozatlanul nem dolgozunk, megfelelően escapelni kell. Jelen esetben a $betuk-re rá kellene engedni legalább egy mysql_real_escape_string függvényt.

A textfield alá létre kell hozni egy HTML elemet, amibe pedig akárcsak .innerHTML tulajdonság állításával be kell szúrni a megkapott adatokat.