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

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


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


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

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

مثال


Customer info will be listed here...

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


وأوضح مثال - وHTML الصفحة

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

<!DOCTYPE html>
<html>
<head>
<script>
function showCustomer(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>

<form>
<select name="customers" onchange="showCustomer(this.value)">
<option value="">Select a customer:</option>
<option value="ALFKI">Alfreds Futterkiste</option>
<option value="NORTS ">North/South</option>
<option value="WOLZA">Wolski Zajazd</option>
</select>
</form>
<br>
<div id="txtHint">Customer info will be listed here...</div>

</body>
</html>

شفرة المصدر التفسير:

إذا لم يتم تحديد العملاء (str.length==0) وظيفة مسح محتويات العنصر النائب txtHint ومخارج وظيفة.

إذا تم اختيار العملاء، و showCustomer() وظيفة ينفذ ما يلي:

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

ملف ASP

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

رمز مصدر في "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>")
%>