PHP和Ajax是非常常用的web開發技術。對于那些需要頻繁更新數據集,擴展或收縮信息以及從中回顯數據的項目來說,這些技術是非常有用的。在這篇文章中,我們將介紹PHP和Ajax的遍歷。我們將使用豐富的例子來解釋這些概念。
首先,在這個示例中,我們將演示如何向已知的MySQL數據庫中添加Ajax遍歷函數。考慮到這一點,讓我們通過一個簡單的示例來說明如何將代碼添加到PHP文件中:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax 遍歷& MySQL 數據庫</title>
</head>
<body>
<form>
<input type="text" id="search">
<button type="button" id="searchButton">搜索</button>
</form>
<div id="resultDiv"></div>
</body>
<script>
var search = document.getElementById("search");
var searchButton = document.getElementById("searchButton");
var resultDiv = document.getElementById("resultDiv");
searchButton.onclick = function(){
var str = search.value.trim();
if(str.length==0){
alert("請輸入搜索關鍵字!");
return;
}
var xmlhttp;
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){
resultDiv.innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("POST","list.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("keyword="+str);
}
</script>
</html>
在上面的代碼中,我們使用了Ajax和php代碼來操作數據庫。我們使用XMLHttpRequest對象實現了異步查詢和數據檢索。請注意,我們還使用了一個搜索輸入框和檢索按鈕,這些都是我們的ajax遍歷的初始化部分。
接下來,我們將為您詳細介紹PHP代碼,該代碼是我們在上面的JavaScript代碼中打開的“list.php”。
<?php
//連接到MySQL數據庫
$con=mysqli_connect("localhost","root","","my_db");
if (mysqli_connect_errno())
{
echo "連接出錯: " . mysqli_connect_error();
}
//取得搜索關鍵字
$keyword=$_POST["keyword"];
$sql="SELECT * FROM Persons WHERE (FirstName LIKE '%".$keyword."%') OR (LastName LIKE '%".$keyword."%')";
//執行查詢
$result=mysqli_query($con,$sql);
//顯示搜索結果
while($row=mysqli_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br/>";
}
mysqli_close($con);
?>
我們平衡了各種PHP代碼,允許我們執行與MySQL數據庫的查詢,并在結果組中檢索信息。請注意,在這個代碼塊中,我們通過使用“mysqli_fetch_array”函數來處理PHP編碼,以便檢索信息并進行遍歷。對于那些經常使用MySQL數據庫的開發人員來說,這段代碼應該非常容易理解。
現在,我們需要說明的一件事是如何在JavaScript代碼中使用JSON對象來遍歷數據庫。JSON(JavaScript對象表示)是一種開放的數據格式,非常適合查詢和將數據存儲到數據庫中。因此,我們在上面的PHP代碼中使用了MySQL命令機制。但是,MySQL命令機制不太適合實時信息檢索。
<?php
//連接到MySQL數據庫
$con=mysqli_connect("localhost","root","","my_db");
if (mysqli_connect_errno())
{
echo "連接出錯: " . mysqli_connect_error();
}
//取得搜索關鍵字
$keyword=$_POST["keyword"];
$sql="SELECT * FROM Persons WHERE (FirstName LIKE '%".$keyword."%') OR (LastName LIKE '%".$keyword."%')";
//執行查詢
$result=mysqli_query($con,$sql);
//定義結果數組
$res_arr=array();
while($row=mysqli_fetch_array($result,MYSQL_ASSOC))
{
$res_arr[]=$row;
}
$json_obj=json_encode($res_arr);
echo "$json_obj";
mysqli_close($con);
?>
在上面的PHP代碼塊中,我們使用"json_encode"函數將查詢結果轉換為JSON格式。通過實現這種技術,我們就可以使用Ajax對象從JSON對象中檢索數據,從而使事物變得高效和快速。
在這篇關于php ajax遍歷的文章中,我們介紹了使用PHP和Ajax技術來操作數據庫的基礎知識。我們看到了要執行Ajax操作,需要使用JavaScript對象。但是有時,Ajax的查詢結果不是MySQL命令結果集,而是JSON的JavaScript對象。這就是為什么我們需要使用JSON技術來查詢數據庫,并遍歷結果集。