Latest web development tutorials

قاعدة بيانات أجاكس

أجاكس يمكن استخدامها للاتصال حيوي مع قاعدة البيانات.


مثيل قاعدة البيانات أجاكس

والمثال التالي شرح كيفية صفحة ويب عن طريق أجاكس لقراءة المعلومات من قاعدة البيانات: الرجاء اختيار العميل في القائمة المنسدلة التالية:

مثال


Customer info will be listed here...

محاولة »


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

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

function showCustomer(str)
{
var xmlhttp;
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.html?q="+str,true);
xmlhttp.send();
}

وظيفة showCustomer () بتنفيذ المهام التالية:

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

صفحة ملقم أجاكس

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

كتب في الملفات الخادم PHP بسهولة، أو غيرها من لغة الملقم. انظر المثال المقابلة مكتوبة في PHP .

"Getcustomer.php" كود مصدر مسؤول للاستعلام قاعدة بيانات، ثم إرجاع النتائج في شكل 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("/db/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>")
%>