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:
  1. //PHP kód  
  2.   
  3. $betuk = $_POST['betuk'];  
  4.   
  5. $sql = "SELECT name FROM user WHERE felh_nev=LIKE'$betuk%'";  
  6.   
  7. $result = mysql_query($sql);  
  8.   
  9. $keres = array();  
  10.   
  11. while($row = mysql_fetch_array($result){  
  12.   
  13.     $keres[] = $row['felh_nev'];  
  14.   
  15. }  
  16.     $keres = implode('<br />'$keres);  
  17.     echo $keres;  
  1. //JavaScript kód  
  2.   
  3. function betuk(){  
  4.   
  5. var xml = XMLHttpRequest();  
  6.   
  7. var url = "feld_php.php";  
  8. var betuk = document.getElementById("felh_nev").value;  
  9. var atad = "betuk="+betuk;  
  10.   
  11. xml.open("post", url, true);  
  12.   
  13. xml.onreadystatechange = function();  
  14.     if(xml.readystate == 4 && xml.status == 200){  
  15.         #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.  
  16.     }  
  17. xml.send(atad);  
  18. }  
  1. <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.