PHP et MySQL instance AJAX
Ajax peut être utilisé pour une communication interactive avec la base de données.
instance de base de données AJAX
Les exemples suivants démontrent comment une page Web via AJAX lire les informations de la base de données:
Exemples
Exemples expliquent - base de données MySQL
Dans l'exemple ci-dessus, nous utilisons la table de base de données est la suivante:
id | FirstName | LastName | Age | Hometown | Job |
---|---|---|---|---|---|
1 | Peter | Griffin | 41 | Quahog | Brewery |
2 | Lois | Griffin | 40 | Newport | Piano Teacher |
3 | Joseph | Swanson | 39 | Quahog | Police Officer |
4 | Glenn | Quagmire | 41 | Quahog | Pilot |
Exemples expliquent - page HTML
Quand un utilisateur dans la liste déroulante ci-dessus, sélectionnez un utilisateur, exécuterait nommé "(showuser)" fonction. Cette fonction par l'événement "onchange" est déclenchée:
<html> <head> <script> function showUser(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","getuser.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> <option value="">Select a person:</option> <option value="1">Peter Griffin</option> <option value="2">Lois Griffin</option> <option value="3">Glenn Quagmire</option> <option value="4">Joseph Swanson</option> </select> </form> <br> <div id="txtHint"><b>Person info will be listed here.</b></div> </body> </html>
fonction showuser () effectue les étapes suivantes:
- Vérifiez si l'utilisateur est sélectionné
- Créer un objet XMLHttpRequest
- Créer la fonction lorsque le serveur est prêt à effectuer la réponse
- Dossier sur le serveur pour envoyer des demandes
- S'il vous plaît note ajoutée à la fin du paramètre d'URL (q) (contient le contenu de la liste déroulante)
Fichier PHP
Les serveurs ci-dessus par le biais de JavaScript appelant cette page est appelé fichier PHP "getuser.php".
Le code source sera exécuté "getuser.php" une fois pour la requête de base de données MySQL et renvoie les résultats dans un tableau HTML:
<?php $q=$_GET["q"]; $con = mysqli_connect('localhost','peter','abc123','my_db'); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } mysqli_select_db($con,"ajax_demo"); $sql="SELECT * FROM user WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> <th>Hometown</th> <th>Job</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['FirstName'] . "</td>"; echo "<td>" . $row['LastName'] . "</td>"; echo "<td>" . $row['Age'] . "</td>"; echo "<td>" . $row['Hometown'] . "</td>"; echo "<td>" . $row['Job'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?>
Explication: Quand une requête est envoyée à partir de JavaScript dans le fichier PHP va se produire:
- PHP ouvre une connexion à la base de données MySQL
- Trouvez les utilisateurs sélectionnés
- Créer table HTML, remplissant les données et renvoie "txtHint" espace réservé