Heim >Backend-Entwicklung >PHP-Problem >So fragen Sie Datenbankdaten mit Ajax PHP ab
Mit der Entwicklung des Internets und mobiler Anwendungen wird die Nachfrage nach dynamischen Seiten und Echtzeit-Abfragedaten immer größer. AJAX (Asynchronous JavaScript and XML) ist eine Technologie, die Entwickler bei der Implementierung asynchroner Datenübertragung und dynamischer Seitenaktualisierungen unterstützt. In diesem Artikel wird erläutert, wie Sie mit AJAX und PHP Daten aus der Datenbank abfragen und im Frontend präsentieren.
Zuerst müssen wir eine einfache Datenbank zum Speichern von Daten erstellen. Hier nehmen wir als Beispiel die Tabelle „Studenten“, die drei Felder enthält: „ID“, „Name“ und „Alter“, um grundlegende Informationen zu Studenten zu speichern.
Nachdem wir die Datenbank eingerichtet haben, müssen wir PHP verwenden, um eine Verbindung zur Datenbank herzustellen und Abfrageanweisungen zu schreiben. Das Folgende ist ein einfacher Abfrageoperationscode:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $sql = "SELECT * FROM students"; $result = $conn->query($sql); // 处理查询结果 if ($result->num_rows > 0) { // 输出每行数据 while($row = $result->fetch_assoc()) { echo "学生ID: " . $row["id"]. " - 姓名: " . $row["name"]. " - 年龄: " . $row["age"]. "<br>"; } } else { echo "0 结果"; } $conn->close(); ?>
Der obige Code verwendet MySQL, um eine Verbindung zur MySQL-Datenbank herzustellen, führt eine einfache Abfrageoperation aus und gibt die Abfrageergebnisse auf der Front-End-Seite aus. In der tatsächlichen Entwicklung kann es erforderlich sein, den abzufragenden Inhalt sowie Vorgänge wie Filtern und Sortieren anzupassen.
Als nächstes müssen wir die AJAX-Technologie verwenden, um serverseitige Daten asynchron anzufordern und die Ergebnisse auf der Front-End-Seite darzustellen. Das Folgende ist der Code für eine einfache AJAX-Abfrageoperation:
<html> <head> <script> function showData(str) { if (str=="") { document.getElementById("result").innerHTML=""; return; } var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { document.getElementById("result").innerHTML=this.responseText; } } xmlhttp.open("GET","getdata.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="students" onchange="showData(this.value)"> <option value="">请选择一个学生:</option> <option value="1">小明</option> <option value="2">小红</option> <option value="3">小刚</option> </select> </form> <br> <div id="result"><b>这里会显示查询到的学生信息</b></div> </body> </html>
Der obige Code definiert zunächst eine showData-Funktion, um asynchrone Anforderungen zu senden und vom Server zurückgegebene Daten zu akzeptieren. Rufen Sie nach Auswahl eines Schülers im Auswahlfeld die Funktion showData auf und übergeben Sie die ID des ausgewählten Schülers als Parameter.
AJAX-Anforderungen verwenden das XMLHttpRequest-Objekt, geben die URL-Adresse und Parameter der GET-Anforderung über die offene Methode an und senden die Anforderung über die Sendemethode. Wenn die Anforderung den Statuscode 200 zurückgibt, ist die Abfrage erfolgreich, die Funktion onreadystatechange wird aufgerufen und die vom Server zurückgegebenen Daten werden als Wert des Attributs „responseText“ verwendet, um die Daten auf der Front-End-Seite anzuzeigen. Wenn die Anforderung fehlschlägt, können der Fehlerstatuscode und die Fehlerinformationen über das Statusattribut abgerufen werden.
Schließlich müssen wir ein PHP-Skript schreiben, das Abfrageanfragen akzeptiert und Daten aus der Datenbank abfragt. Das Folgende ist der Code eines einfachen PHP-Skripts:
<?php $q = $_GET['q']; $con = mysqli_connect('localhost','username','password','myDB'); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } mysqli_select_db($con,"students"); $sql="SELECT * FROM students WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table> <tr> <th>ID</th> <th>Name</th> <th>Age</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['age'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?>
Der obige Code liest zuerst die in der AJAX-Anfrage übergebenen Parameter, stellt dann eine Verbindung zur MySQL-Datenbank her, führt eine Abfrageanweisung mit einer Where-Bedingung aus und zeigt die Abfrageergebnisse im an Form einer HTML-Tabelle Zurück zur Frontend-Seite.
Zusammenfassend lässt sich sagen, dass die Kombination von AJAX und PHP zum Abfragen und Präsentieren von Datenbankdaten im Frontend eine häufige Anforderung für die dynamische Webentwicklung ist. Durch den geeigneten Einsatz dieser Technologien können wir schnell eine vollständige dynamische Seite implementieren.
Das obige ist der detaillierte Inhalt vonSo fragen Sie Datenbankdaten mit Ajax PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!