Heim  >  Artikel  >  Backend-Entwicklung  >  Über PHP – Interaktion zwischen AJAX und MySQL

Über PHP – Interaktion zwischen AJAX und MySQL

jacklove
jackloveOriginal
2018-05-07 14:56:421885Durchsuche

AJAX kann zur interaktiven Kommunikation mit der Datenbank verwendet werden. Dies ist für PHP sehr wichtig.

Beispiel für eine AJAX-Datenbank

Das folgende Beispiel zeigt, wie eine Webseite Informationen aus der Datenbank über AJAX liest:

Die in diesem Tutorial verwendete SQL-Datei der Websites-Tabelle: Websites. sql.

Beispiel

Wählen Sie eine Website aus: Google Taobao Rookie Tutorial Weibo Facebook

Wählen Sie die entsprechende Option, die Benutzerinformationen werden hier angezeigt...



Erläuterung der Beispiele – MySQL-Datenbank

Im obigen Beispiel lautet die von uns verwendete Datenbanktabelle wie folgt:

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)

Erläuterung der Beispiele – HTML-Seite

Wenn der Benutzer einen Benutzer in der obigen Dropdown-Liste auswählt, wird die Funktion mit dem Namen „showSite()“ ausgeführt. Diese Funktion wird durch das Ereignis „onchange“ ausgelöst:

test.html-Dateicode:

<!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>

showSite()-Funktion führt die folgenden Schritte aus:

Überprüfen Sie, ob eine Website vorhanden ist ist ausgewählt

Erstellen Sie ein XMLHttpRequest-Objekt

Erstellen Sie eine Funktion, die ausgeführt wird, wenn die Serverantwort bereit ist

Senden Sie eine Anfrage an eine Datei auf dem Server

Bitte beachten Sie die am Ende der URL hinzugefügten Parameter (q) (Enthält den Inhalt der Dropdown-Liste)

PHP-Datei

Die oben über JavaScript aufgerufene Serverseite ist eine PHP-Datei mit dem Namen „getsite_mysql.php“.

Der Quellcode in „getsite_mysql.php“ führt eine Abfrage der MySQL-Datenbank aus und gibt die Ergebnisse in einer HTML-Tabelle zurück:

getsite_mysql.php-Dateicode:

<?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);?>

Erklärung: Wenn eine Abfrage von JavaScript an eine PHP-Datei gesendet wird, passiert Folgendes:

PHP öffnet eine Verbindung zur MySQL-Datenbank

findet den ausgewählten Benutzer

erstellt Geben Sie die Daten in die HTML-Tabelle ein und senden Sie den Platzhalter „txtHint“ zurück

Dieser Artikel enthält eine detaillierte Erklärung der Interaktion zwischen PHP - AJAX und MySQL. Weitere Lernmaterialien finden Sie im PHP-Chinesisch Webseite.

Verwandte Empfehlungen:

Über PHP – Die Verbindung zwischen AJAX und PHP

Relevante Kenntnisse über PHP Simple XML

Relevante Wissenspunkte zu PHP XML DOM

Das obige ist der detaillierte Inhalt vonÜber PHP – Interaktion zwischen AJAX und MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn