PHP - AJAX et MySQL
AJAX peut être utilisé pour communiquer de manière interactive avec une base de données.
Exemple de base de données AJAX
L'exemple suivant montre comment une page web peut lire des informations à partir d'une base de données via AJAX :
Fichier SQL pour la table Websites utilisée dans ce tutoriel:websites.sql.
Exemple
Explication de l'exemple - Base de données MySQL
Dans l'exemple ci-dessus, la table de base de données que nous utilisons est affichée ci-dessous :
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 | Example | http://www.example.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+ 5 rows in set (0.01 sec)
Exemple expliqué - Page HTML
Lorsque l'utilisateur sélectionne un site web dans la liste déroulante ci-dessus, une fonction appelée "showSite()" est exécutée. La fonction est déclenchée par l'événement "onchange" :
Code du fichier test.html :
La fonction showSite() effectue les étapes suivantes :
- Vérifier si un site web est sélectionné
- Créer un objet XMLHttpRequest
- Créer une fonction à exécuter lorsque la réponse du serveur est prête
- Envoyer une requête à un fichier sur le serveur
- Notez qu'un paramètre (q) est ajouté à la fin de l'URL (contenant le contenu de la liste déroulante)
Fichier PHP
La page serveur appelée via JavaScript ci-dessus est un fichier PHP nommé "getsite_mysql.php".
Le code source dans "getsite_mysql.php" exécute une requête sur une base de données MySQL et renvoie le résultat dans un tableau HTML :
Code du fichier getsite_mysql.php :
Explication : Lorsque la requête est envoyée depuis JavaScript vers le fichier PHP, voici ce qui se produit :
- PHP ouvre une connexion à une base de données MySQL
- Trouver le site web sélectionné
- Crée un tableau HTML, le remplit de données et le renvoie à l'espace réservé "txtHint"