Derniers tutoriels de développement web
 

AJAX Base de données Exemple


AJAX peut être utilisé pour une communication interactive avec une base de données.


AJAX Database Exemple

L'exemple suivant montrera comment une page Web peut récupérer des informations à partir d'une base de données avec AJAX:

Exemple


Customer info will be listed here...

Essayez - le vous - même »


Exemple Explained - Le showCustomer() Fonction

Lorsqu'un utilisateur sélectionne un client dans la liste déroulante ci - dessus, une fonction appelée "showCustomer()" est exécutée. La fonction est déclenchée par le "onchange" événement:

showCustomer

function showCustomer(str) {
  var xhttp;
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  }
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
    document.getElementById("txtHint").innerHTML = xhttp.responseText;
    }
  };
  xhttp.open("GET", "getcustomer.asp?q="+str, true);
  xhttp.send();
}

Le showCustomer() fonction effectue les opérations suivantes:

  • Vérifiez si un client est sélectionné
  • Créer un XMLHttpRequest objet
  • Créer la fonction à exécuter lorsque la réponse du serveur est prêt
  • Envoyer la demande hors d'un fichier sur le serveur
  • Notez qu'un paramètre (q) est ajoutée à l'URL (avec le contenu de la liste déroulante)

Le AJAX serveur page

La page sur le serveur appelé par le JavaScript ci - dessus est un fichier ASP appelé "getcustomer.asp" .

Le fichier du serveur pourrait facilement être réécrite en PHP ou d'autres langages de serveur.

Regardez un exemple correspondant en PHP .

Le code source dans "getcustomer.asp" exécute une requête sur une base de données, et renvoie le résultat dans un tableau HTML:

<%
response.expires=-1
sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/ datafolder /northwind.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn

response.write("<table>")
do until rs.EOF
  for each x in rs.Fields
    response.write("<tr><td><b>" & x.name & "</b></td>")
    response.write("<td>" & x.value & "</td></tr>")
  next
  rs.MoveNext
loop
response.write("</table>")
%>