AJAX peut être utilisé pour communiquer de manière interactive avec la base de données. C'est très important pour PHP. Cet article l'expliquera.
Exemple de base de données AJAX
L'exemple suivant montrera comment une page Web lit les informations de la base de données via AJAX :
Le fichier SQL de la table Sites Web utilisé dans ce didacticiel : sites Web. sql.
Exemple
Sélectionnez un site Web : Google Taobao Rookie Tutorial Weibo Facebook
Sélectionnez l'option correspondante, les informations de l'utilisateur seront affichées ici...
Explication des exemples - Base de données MySQL
Dans l'exemple ci-dessus, la table de base de données que nous utilisons est la suivante :
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)
Explication des exemples - Page HTML
Lorsque l'utilisateur sélectionne un utilisateur dans la liste déroulante ci-dessus, la fonction nommée "showSite()" sera exécutée. Cette fonction est déclenchée par l'événement "onchange" :
code du fichier test.html :
<!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>
la fonction showSite() effectuera les étapes suivantes :
Vérifiez si n'importe quel site Web a été Sélectionnez
Créer un objet XMLHttpRequest
Créer une fonction qui s'exécute lorsque la réponse du serveur est prête
Envoyer une requête à un fichier sur le serveur
Veuillez noter qu'il est ajouté à la fin du paramètre URL (q) (contient le contenu de la liste déroulante)
Fichier PHP
La page du serveur appelée via JavaScript ci-dessus se trouve un fichier PHP nommé "getsite_mysql.php".
Le code source dans "getsite_mysql.php" exécutera une requête sur la base de données MySQL et renverra les résultats dans un tableau HTML :
code du fichier getsite_mysql.php :
<?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);?>
Explication : Lorsqu'une requête est envoyée depuis JavaScript vers un fichier PHP, que se passe-t-il :
PHP ouvre une connexion à la base de données MySQL
Trouve l'utilisateur sélectionné
Crée un formulaire HTML, remplit les données et renvoie l'espace réservé "txtHint"
Cet article fournit une explication détaillée de l'interaction entre PHP - AJAX et MySQL Pour plus de matériel d'apprentissage, veuillez prêter attention au site Web php chinois. Montre.
Recommandations associées :
À propos de PHP - La connexion entre AJAX et PHP
Connaissances pertinentes sur PHP Simple XML
Points de connaissances pertinents sur PHP XML DOM
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!