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ą:

  1. PHP otwiera połączenie z bazą danych MySQL
  2. Znajdź wybranych użytkowników
  3. Tworzenie tabeli HTML, wypełniając dane i wysyła z powrotem "txtHint" zastępczy