أحدث البرامج التعليمية وتطوير الشبكة
 

AJAX مثال قاعدة بيانات


AJAX يمكن استخدامها للاتصال تفاعلية مع قاعدة بيانات.


AJAX قاعدة البيانات مثال

والمثال التالي شرح كيفية صفحة على شبكة الإنترنت يمكن أن تجلب المعلومات من قاعدة بيانات مع أجاكس:

مثال


Customer info will be listed here...

انها محاولة لنفسك »


مثال أوضح - و showCustomer() وظيفة

عندما يختار المستخدم أحد العملاء في القائمة المنسدلة أعلاه، وظيفة تسمى "showCustomer()" يتم تنفيذه. يتم تشغيل وظيفة من قبل "onchange" الحدث:

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();
}

و showCustomer() الدالة بما يلي:

  • تحقق مما إذا تم اختيار العميل
  • إنشاء XMLHttpRequest كائن
  • إنشاء وظيفة ليتم تنفيذها عندما استجابة الملقم جاهزة
  • إرسال طلب إيقاف إلى ملف على الخادم
  • لاحظ أن معلمة (q) يضاف إلى عنوان URL (مع محتوى من القائمة المنسدلة)

و AJAX صفحة الملقم

صفحة على الخادم التي دعت إليها جافا سكريبت أعلاه هو ملف ASP يسمى "getcustomer.asp" .

يمكن بسهولة إعادة كتابة ملف الخادم في PHP، أو بعض اللغات الخادم أخرى.

نظرة على سبيل المثال المقابلة في PHP .

رمز مصدر في "getcustomer.asp" تشغيل استعلام مقابل قاعدة بيانات، وإرجاع النتيجة في جدول 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>")
%>