PHP和AJAXMySQL數(shù)據(jù)庫實(shí)例-6.5PHP和AJAX

AJAX 可用來與數(shù)據(jù)庫進(jìn)行交互式通信。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供吳江網(wǎng)站建設(shè)、吳江做網(wǎng)站、吳江網(wǎng)站設(shè)計(jì)、吳江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、吳江企業(yè)網(wǎng)站模板建站服務(wù),10多年吳江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

AJAX 數(shù)據(jù)庫實(shí)例

在下面的 AJAX 實(shí)例中,我們將演示網(wǎng)頁如何使用 AJAX 技術(shù)從 MySQL 數(shù)據(jù)庫中讀取信息。

在下拉列表中選擇一個(gè)客戶      Alibaba APPLE BAIDU Canon Google HUAWEI Microsoft Nokia SONY Tencent 
此處將列出客戶信息。

這個(gè)應(yīng)用程序由四個(gè)元素組成:

MySQL 數(shù)據(jù)庫一張簡單的 HTML 表單JavaScriptPHP 頁面
數(shù)據(jù)庫

將在本例中使用的數(shù)據(jù)庫看起來類似這樣:

id CustomerID CompanyName ContactName Address City PostalCode Country 1 Alibaba Alibaba Group Ma Yun ...... Hangzhou 310002 China 2 APPLE Apple Inc. Tim Cook ...... Cupertino 95014 USA 3 BAIDU BAIDU Inc. Li YanHong ...... Beijing 100080 China 4 Canon Canon USA Inc. Tsuneji Uchida ...... New York 11042 USA
例子解釋

在上面的例子中,當(dāng)用戶在上面的下拉列表中選擇客戶時(shí),會(huì)執(zhí)行名為“showUser()”的函數(shù)。

該函數(shù)由 onchange 事件觸發(fā)。

這是 HTML 代碼:

實(shí)例 <!doctype html><html><head><script>function showUser(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 (this.readyState==4 && this.status==200) { document.getElementById("txtHint").innerHTML=this.responseText; } } xmlhttp.open("GET","/demo/getcustomer.php?q="+str,true); xmlhttp.send();}</script></head><body><form><select name="users" onchange="showUser(this.value)"><option value="">請選擇一個(gè)客戶:</option><option value="1">Alibaba</option><option value="2">APPLE</option><option value="3">BAIDU</option><option value="4">Canon</option><option value="5">Google</option><option value="6">HUAWEI</option><option value="7">Microsoft</option><option value="8">Nokia</option><option value="9">SONY</option><option value="10">Tencent</option></select></form><br><div id="txtHint"><b>客戶信息將在此處列出。</b></div></body></html>

運(yùn)行實(shí)例

代碼解釋:

首先,檢查是否選擇了客戶。如果未選擇任何客戶(str ==“”),則清除 txtHint 的內(nèi)容并退出該函數(shù)。如果選擇了某個(gè)客戶,則執(zhí)行以下操作:

創(chuàng)建 XMLHttpRequest 對象創(chuàng)建服務(wù)器響應(yīng)就緒時(shí)要執(zhí)行的函數(shù)將請求發(fā)送到服務(wù)器上的文件請注意,參數(shù)(q)被添加到 URL(帶有下拉列表的內(nèi)容)
PHP 文件

上面的 JavaScript 調(diào)用的服務(wù)器上的頁面是一個(gè)名為“getuser.php”的 PHP 文件。

“getuser.php”中的源代碼對 MySQL 數(shù)據(jù)庫運(yùn)行查詢,并在 HTML 表中返回結(jié)果:

<?php$q = intval($_GET['q']);$con = mysqli_connect('MyServer','MyUser','MyPassword','Customers');if (!$con) { die('Could not connect: ' . mysqli_error($con));}$sql="SELECT * FROM customerslist WHERE id = '".$q."'";$result = mysqli_query($con,$sql);echo "<table>";while($row = mysqli_fetch_array($result)) { echo "<tr><th>CustomerID</th><td>" . $row['CustomerID'] . "</td></tr>"; echo "<tr><th>CompanyName</th><td>" . $row['CompanyName'] . "</td></tr>"; echo "<tr><th>ContactName</th><td>" . $row['ContactName'] . "</td></tr>"; echo "<tr><th>Address</th><td>" . $row['Address'] . "</td></tr>"; echo "<tr><th>City</th><td>" . $row['City'] . "</td></tr>"; echo "<tr><th>PostalCode</th><td>" . $row['PostalCode'] . "</td></tr>"; echo "<tr><th>Country</th><td>" . $row['Country'] . "</td></tr>";}echo "</table>";mysqli_close($con);?>

解釋:當(dāng)查詢從 JavaScript 發(fā)送到 PHP 文件時(shí),會(huì)發(fā)生以下情況:

PHP 打開與 MySQL 服務(wù)器的連接找到了正確的客戶創(chuàng)建一個(gè) HTML 表,填充數(shù)據(jù),并發(fā)送回“txtHint”占位符

新聞名稱:PHP和AJAXMySQL數(shù)據(jù)庫實(shí)例-6.5PHP和AJAX
網(wǎng)站路徑:http://www.muchs.cn/article35/dghhosi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站維護(hù)Google、做網(wǎng)站、服務(wù)器托管、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作