PHP i MySQL instancji AJAX
AJAX można stosować w interaktywnej komunikacji z bazą danych.
AJAX instancji bazy danych
Poniższe przykłady pokażą, jak strona internetowa za pośrednictwem AJAX czytać informacje z bazy danych:
Przykłady
Przykłady wyjaśnić - bazy danych MySQL
W powyższym przykładzie, używamy tabeli bazy danych jest następujący:
id | FirstName | LastName | Age | Hometown | Job |
---|---|---|---|---|---|
1 | Peter | Griffin | 41 | Quahog | Brewery |
2 | Lois | Griffin | 40 | Newport | Piano Teacher |
3 | Joseph | Swanson | 39 | Quahog | Police Officer |
4 | Glenn | Quagmire | 41 | Quahog | Pilot |
Przykłady wyjaśnić - strony HTML
Gdy użytkownik w powyższej listy rozwijanej wybierz użytkownika, to execute nazwie "showUser ()" funkcja. Funkcja ta przez "onChange" zdarzenie jest wyzwalany:
<html> <head> <script> function showUser(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","getuser.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> <option value="">Select a person:</option> <option value="1">Peter Griffin</option> <option value="2">Lois Griffin</option> <option value="3">Glenn Quagmire</option> <option value="4">Joseph Swanson</option> </select> </form> <br> <div id="txtHint"><b>Person info will be listed here.</b></div> </body> </html>
Funkcja showUser () wykonuje następujące czynności:
- Sprawdzania, czy użytkownik jest wybrana
- Tworzenie obiektu XMLHttpRequest
- Tworzenie funkcji, gdy serwer jest gotowy do przeprowadzenia reakcji
- Plików na serwerze, aby wysyłać żądania
- Należy pamiętać, dodany na końcu parametru URL (q) (zawiera zawartość listy rozwijanej)
Plik PHP
Powyższe serwery poprzez javascript wywołaniem tej strony jest nazywany "getuser.php" plik PHP.
Kod źródłowy będzie działał "getuser.php" w raz dla bazy MySQL zapytanie i zwraca wyniki w postaci tabeli HTML:
<?php $q=$_GET["q"]; $con = mysqli_connect('localhost','peter','abc123','my_db'); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } mysqli_select_db($con,"ajax_demo"); $sql="SELECT * FROM user WHERE id = '".$q."'"; $result = mysqli_query($con,$sql); echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> <th>Hometown</th> <th>Job</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['FirstName'] . "</td>"; echo "<td>" . $row['LastName'] . "</td>"; echo "<td>" . $row['Age'] . "</td>"; echo "<td>" . $row['Hometown'] . "</td>"; echo "<td>" . $row['Job'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?>
Objaśnienie: Kiedy zapytanie jest wysyłane z JavaScript do pliku PHP wystąpią:
- PHP otwiera połączenie z bazą danych MySQL
- Znajdź wybranych użytkowników
- Tworzenie tabeli HTML, wypełniając dane i wysyła z powrotem "txtHint" zastępczy