PHP-AJAX et MySQL

AJAX peut être utilisé pour communiquer de manière interactive avec la base de données.


Instance de base de données AJAX

L'exemple suivant démontrera Comment la page Web lit les informations de la base de données via AJAX :

affichage de la page HTML

20.png

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 :

01.png

Explication des exemples - Page HTML

Lorsque l'utilisateur sélectionne un utilisateur dans la liste déroulante ci-dessus, la fonction nommée "showUser()" sera exécutée. Cette fonction est déclenchée par l'événement "onchange" :

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
 
     <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">John Doe</option>
         <option value="2">tom Mary</option>
         <option value="3">lijing liuqi</option>
         <option value="4">liu li</option>
     </select>
 </form>
 <br>
 <div id="txtHint"><b>数据库信息展示在这</b></div>
 
 </body>
 </html>

la fonction showUser() effectuera les étapes suivantes :

· Vérifier si un utilisateur est sélectionné

· 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

· Notez le paramètre (q) ajouté à la fin de l'URL (contient la liste déroulante Contenu)


Fichier PHP

La page du serveur appelée ci-dessus via JavaScript est un fichier PHP nommé "base de données". Le code source dans

database.php" exécutera une requête sur la base de données MySQL et renverra les résultats dans un tableau HTML :

fichier database.php

<?php
 $q=$_GET["q"];
 
 $con = mysqli_connect('localhost','root','root','test');
 if (!$con)
 {
     die('Could not connect: ' . mysqli_error($con));
 }
 
 //mysqli_select_db($con,"ajax_demo");
 $sql="SELECT * FROM Myguests WHERE id = '".$q."'";
 
 $result = mysqli_query($con,$sql);
 
 echo "<table border='1'>
 <tr>
 <th>firstname</th>
 <th>lastname</th>
 <th>email</th>
 <th>Age</th>
 
 </tr>";
 
 while($row = mysqli_fetch_array($result))
 {
     echo "<tr>";
     echo "<td>" . $row['firstname'] . "</td>";
     echo "<td>" . $row['lastname'] . "</td>";
     echo "<td>" . $row['email'] . "</td>";
     echo "<td>" . $row['Age'] . "</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 :

1. PHP ouvre une connexion à la base de données MySQL

2. . Utilisateur sélectionné trouvé

3. Créez un tableau HTML, remplissez les données et renvoyez l'espace réservé "txtHint"

Affichage des résultats du programme :

8.png


Formation continue
||
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <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">John Doe</option> <option value="2">tom Mary</option> <option value="3">lijing liuqi</option> <option value="4">liu li</option> </select> </form> <br> <div id="txtHint"><b>数据库信息展示在这</b></div> </body> </html>
soumettreRéinitialiser le code
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!