Manual Rujukan ...login
Manual Rujukan Cina AJAX
pengarang:php.cn  masa kemas kini:2022-04-12 16:00:57

pangkalan data AJAX



AJAX boleh digunakan untuk berkomunikasi secara dinamik dengan pangkalan data.


Contoh Pangkalan Data AJAX

Contoh berikut akan menunjukkan cara halaman web membaca maklumat daripada pangkalan data melalui AJAX: Sila pilih pelanggan daripada menu lungsur di bawah:

Instance

<html><!DOCTYPE html>
<html>
<head>
<script>
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","/try/ajax/getcustomer.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form action=""> 
<select name="customers" onchange="showCustomer(this.value)" style="font-family:Verdana, Arial, Helvetica, sans-serif;">
<option value="APPLE">Apple Computer, Inc.</option>
<option value="BAIDU ">BAIDU, Inc</option>
<option value="Canon">Canon USA, Inc.</option>
<option value="Google">Google, Inc.</option>
<option value="Nokia">Nokia Corporation</option>
<option value="SONY">Sony Corporation of America</option>
</select>
</form>
<br>
<div id="txtHint">Customer info will be listed here...</div>

</body>
</html>

Run Instance»

Klik "Run Instance" " butang untuk melihat kejadian dalam talian



Penjelasan contoh - fungsi showCustomer()

Apabila pengguna memilih pelanggan dalam senarai juntai bawah di atas, nama itu akan dilaksanakan ialah fungsi "showCustomer()". Fungsi ini dicetuskan oleh peristiwa "onchange":

function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// kod untuk IE7+, Firefox, Chrome, Opera , Safari
xmlhttp=new XMLHttpRequest();
}
lain
{// kod untuk 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();
}
Fungsi

showCustomer() melaksanakan tugas berikut:

  • Menyemak sama ada pelanggan telah dipilih

  • Mencipta objek XMLHttpRequest

  • Laksanakan fungsi yang dibuat apabila respons pelayan sedia

  • Hantar permintaan ke fail pada pelayan

  • Sila Ambil perhatian bahawa kami menambahkan parameter q pada URL (dengan kandungan dari medan input)


Halaman Pelayan AJAX

Halaman pelayan dipanggil oleh JavaScript di atas Ia adalah fail PHP bernama "getcustomer.php".

Ia juga mudah untuk menulis fail pelayan dalam PHP atau bahasa pelayan lain. Lihat contoh sepadan yang ditulis dalam PHP.

Kod sumber dalam "getcustomer.php" bertanggungjawab untuk menanyakan pangkalan data dan kemudian mengembalikan keputusan menggunakan jadual HTML:

<%
respons .expires= -1
sql="SELECT * FROM CUSTOMER 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
, untuk setiap x dalam rs.Field
' response.write("<tr><td><b>" & x.name & "</b></td>")
' response.write("<td>" & x.value & "</td></tr>")
, seterusnya
, rs.MoveNext
gelung
response.write("</table>")
%>

Laman web PHP Cina