Mifano ya Database ya MySQL kwa PHP
- Mtu wa kuzungumza AJAX XML
- Mtu wa kifo AJAX responseXML
AJAX 可用来与数据库进行交互式通信。
AJAX 数据库实例
在下面的 AJAX 实例中,我们将演示网页如何使用 AJAX 技术从 MySQL 数据库中读取信息。
在下拉列表中选择一个客户
这个应用程序由四个元素组成:
- MySQL 数据库
- 一个简单的 HTML 表单
- JavaScript
- PHP 页面
数据库
数据库看起来像这样在本例中:
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 | Kanoni | Kanoni USA Inc. | Tsuneji Uchida | ...... | New York | 11042 | USA |
Muhtasari wa Mivuno
Kwenye mivuno hii, kama mtu anachagua kundi cha wakati wa kichwa chini, inafanywa fungsi ya "showUser()".
Funksheni hii inaitwa na matukio onchange.
Hii ni kodeni cha HTML:
Mfano
<!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="">Chaguo kwenye chaguo:</option> <option value="1">Alibaba</option> <option value="2">APPLE</option> <option value="3">BAIDU</option> <option value="4">Kanoni</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>Maumivu ya mwanasheria yatapewa hapa.</b></div> </body> </html>
Muhtasari wa kifaa
Kwanza, tafuta iwapo mtu anahitaji. Iwapo hakuna mtu anahitaji (str == ""), kimaisha kufikia txtHint na kumaliza fungsi. Iwapo mtu anahitaji, tafuta hii:
- Kufanya hifadhi ya XMLHttpRequest
- Kufanya fungsi inayotumika kwa kumaliza maelezo ya serveri
- Tuma inayotumika kwenda faili kwenye serveri
- Taradhisya, thamani (q) inatangazwa katika URL (kuna orodha ya kuzingatia zawadi)
Faili ya PHP
Maktaba ya JavaScript anayotumika kwenye wavuti ya kijifunze ni faili ya PHP yenye jina "getuser.php".
Mafuatilia ya 'getuser.php' inafanya maelezo kwa kusoma mtandao wa MySQL na inarudi matokeo katika tablica ya HTML:
<?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); ?>
Muhtasari: Kama uharibifu kutoka JavaScript kwa kina ya PHP, inatofautiana kama iliyotumiwa:
- PHP Kufungua kina na mtaalamu wa MySQL
- Kutumia mtu wa kufikiria
- Pata kina HTML kwa kufungua data, kusoma mtaalamu wa "txtHint" na kusoma mtaalamu wa "txtHint"
- Mtu wa kuzungumza AJAX XML
- Mtu wa kifo AJAX responseXML