Heim > Artikel > Backend-Entwicklung > Über PHP – Interaktion zwischen AJAX und MySQL
AJAX kann zur interaktiven Kommunikation mit der Datenbank verwendet werden. Dies ist für PHP sehr wichtig.
Beispiel für eine AJAX-Datenbank
Das folgende Beispiel zeigt, wie eine Webseite Informationen aus der Datenbank über AJAX liest:
Die in diesem Tutorial verwendete SQL-Datei der Websites-Tabelle: Websites. sql.
Beispiel
Wählen Sie eine Website aus: Google Taobao Rookie Tutorial Weibo Facebook
Wählen Sie die entsprechende Option, die Benutzerinformationen werden hier angezeigt...
Erläuterung der Beispiele – MySQL-Datenbank
Im obigen Beispiel lautet die von uns verwendete Datenbanktabelle wie folgt:
mysql> select * from websites;+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.com/ | 13 | CN || 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN || 4 | 微博 | http://weibo.com/ | 20 | CN || 5 | Facebook | https://www.facebook.com/ | 3 | USA |+----+--------------+---------------------------+-------+---------+5 rows in set (0.01 sec)
Erläuterung der Beispiele – HTML-Seite
Wenn der Benutzer einen Benutzer in der obigen Dropdown-Liste auswählt, wird die Funktion mit dem Namen „showSite()“ ausgeführt. Diese Funktion wird durch das Ereignis „onchange“ ausgelöst:
test.html-Dateicode:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <script> function showSite(str){ if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // 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","getsite_mysql.php?q="+str,true); xmlhttp.send();} </script></head><body> <form><select name="users" onchange="showSite(this.value)"><option value="">选择一个网站:</option><option value="1">Google</option><option value="2">淘宝</option><option value="3">菜鸟教程</option><option value="4">微博</option><option value="5">Facebook</option></select></form><br><div id="txtHint"><b>网站信息显示在这里……</b></div> </body></html>
showSite()-Funktion führt die folgenden Schritte aus:
Überprüfen Sie, ob eine Website vorhanden ist ist ausgewählt
Erstellen Sie ein XMLHttpRequest-Objekt
Erstellen Sie eine Funktion, die ausgeführt wird, wenn die Serverantwort bereit ist
Senden Sie eine Anfrage an eine Datei auf dem Server
Bitte beachten Sie die am Ende der URL hinzugefügten Parameter (q) (Enthält den Inhalt der Dropdown-Liste)
PHP-Datei
Die oben über JavaScript aufgerufene Serverseite ist eine PHP-Datei mit dem Namen „getsite_mysql.php“.
Der Quellcode in „getsite_mysql.php“ führt eine Abfrage der MySQL-Datenbank aus und gibt die Ergebnisse in einer HTML-Tabelle zurück:
getsite_mysql.php-Dateicode:
<?php$q = isset($_GET["q"]) ? intval($_GET["q"]) : ''; if(empty($q)) { echo '请选择一个网站'; exit;} $con = mysqli_connect('localhost','root','123456');if (!$con){ die('Could not connect: ' . mysqli_error($con));}// 选择数据库mysqli_select_db($con,"test");// 设置编码,防止中文乱码mysqli_set_charset($con, "utf8"); $sql="SELECT * FROM Websites WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table border='1'> <tr> <th>ID</th> <th>网站名</th> <th>网站 URL</th> <th>Alexa 排名</th> <th>国家</th> </tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['url'] . "</td>"; echo "<td>" . $row['alexa'] . "</td>"; echo "<td>" . $row['country'] . "</td>"; echo "</tr>";}echo "</table>"; mysqli_close($con);?>
Erklärung: Wenn eine Abfrage von JavaScript an eine PHP-Datei gesendet wird, passiert Folgendes:
PHP öffnet eine Verbindung zur MySQL-Datenbank
findet den ausgewählten Benutzer
erstellt Geben Sie die Daten in die HTML-Tabelle ein und senden Sie den Platzhalter „txtHint“ zurück
Dieser Artikel enthält eine detaillierte Erklärung der Interaktion zwischen PHP - AJAX und MySQL. Weitere Lernmaterialien finden Sie im PHP-Chinesisch Webseite.
Verwandte Empfehlungen:
Über PHP – Die Verbindung zwischen AJAX und PHP
Relevante Kenntnisse über PHP Simple XML
Relevante Wissenspunkte zu PHP XML DOM
Das obige ist der detaillierte Inhalt vonÜber PHP – Interaktion zwischen AJAX und MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!