À propos de PHP - Interaction entre AJAX et MySQL

jacklove
Libérer: 2023-03-25 14:36:01
original
1862 Les gens l'ont consulté

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)
Copier après la connexion

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>
Copier après la connexion

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"]) : &#39;&#39;; 
if(empty($q)) {
    echo &#39;请选择一个网站&#39;;    exit;}
 $con = mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;123456&#39;);if (!$con){
    die(&#39;Could not connect: &#39; . mysqli_error($con));}// 选择数据库mysqli_select_db($con,"test");// 设置编码,防止中文乱码mysqli_set_charset($con, "utf8"); 
$sql="SELECT * FROM Websites WHERE id = &#39;".$q."&#39;"; 
$result = mysqli_query($con,$sql); 
echo "<table border=&#39;1&#39;>
<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[&#39;id&#39;] . "</td>";    echo "<td>" . $row[&#39;name&#39;] . "</td>";    echo "<td>" . $row[&#39;url&#39;] . "</td>";    echo "<td>" . $row[&#39;alexa&#39;] . "</td>";    echo "<td>" . $row[&#39;country&#39;] . "</td>";    echo "</tr>";}echo "</table>"; 
mysqli_close($con);?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À 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!