PHP - AJAX und MySQL
AJAX kann verwendet werden, um interaktiv mit einer Datenbank zu kommunizieren.
AJAX-Datenbank-Beispiel
Das folgende Beispiel zeigt, wie eine Webseite Informationen über AJAX aus einer Datenbank lesen kann:
SQL-Datei für die in diesem Tutorial verwendete Websites-Tabelle: websites.sql.
Beispiel
Beispiel erklärt - MySQL-Datenbank
Im obigen Beispiel ist die Datenbanktabelle, die wir verwenden, unten dargestellt:
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)
Beispiel erklärt – HTML-Seite
Wenn der Benutzer oben in der Dropdown-Liste eine Website auswählt, wird eine Funktion namens "showSite()" ausgeführt. Die Funktion wird durch das "onchange"-Ereignis ausgelöst:
Code der Datei test.html:
Die Funktion showSite() führt die folgenden Schritte aus:
- Prüfen, ob eine Website ausgewählt ist
- Erstellen Sie ein XMLHttpRequest-Objekt
- Erstellen einer Funktion, die ausgeführt wird, wenn die Serverantwort bereit ist
- Eine Anfrage an eine Datei auf dem Server senden
- Beachten Sie, dass ein Parameter (q) am Ende der URL hinzugefügt wird (der den Inhalt der Dropdown-Liste enthält)
PHP-Datei
Die oben über JavaScript aufgerufene serverseitige Seite ist eine PHP-Datei namens "getsite_mysql.php".
Der Quellcode in "getsite_mysql.php" führt eine Abfrage gegen eine MySQL-Datenbank aus und gibt das Ergebnis in einer HTML-Tabelle zurück:
Code der Datei getsite_mysql.php:
Erklärung: Wenn die Abfrage von JavaScript an die PHP-Datei gesendet wird, geschieht Folgendes:
- PHP öffnet eine Verbindung zu einer MySQL-Datenbank
- Die ausgewählte Website finden
- Erstellt eine HTML-Tabelle, füllt sie mit Daten und sendet sie an den Platzhalter "txtHint" zurück