php ajax mysql 分页查询_基于PHP_MySql_Ajax的分页技术方案
一、引言
Ajax的全稱是AsynchronousJavaScriptAndXML(異步JavaScript和XML),它不是一項新技術(shù),而是很多成熟的技術(shù)的集合。
和Applet,Flash相比,Ajax則是一種輕量級的解決方案。因為它操作的基礎(chǔ)是HTML或者是XHTML,使用的腳本語言是JavaScript,這可以保證它的純文本性質(zhì);利用XML,Ajax可以和其他應(yīng)用程序方便的進行通信。Ajax可以迅速贏得別人的關(guān)注的另外一個重要原因還在于它完全是基于成熟的技術(shù),作為異步調(diào)用的基礎(chǔ)設(shè)施XMLHttpRequest,早在1999年就被引入了IE瀏覽器,隨后又被其他瀏覽器支持。
二、傳統(tǒng)Web模式與Ajax模式的差異
比起Ajax中異步的概念,在傳統(tǒng)Web模式中是一種同步煩人概念:用戶必須等待每個請求,當一個請求后才能獲得結(jié)果,在試用完這些結(jié)果后才會發(fā)出新的請求。而在基于Ajax的Web程序中,最為重要的特征就是將同步請求轉(zhuǎn)變?yōu)楫惒秸埱蟆_@意味著客戶端和服務(wù)器端不必再相互等待,而是可以進行一些并發(fā)的操作。用戶在發(fā)送請求以后可以繼續(xù)當前的工作,包括瀏覽或提交信息。
三、傳統(tǒng)分頁方式與Ajax方式分頁的差異
對Ajax有了初步的了解后,接著要介紹基于PHP、MySql和Ajax的分頁技術(shù)。傳統(tǒng)分頁實現(xiàn)的方式是:客戶端通過URL查詢字符串將要顯示的頁數(shù)以及其他查詢條件提交到服務(wù)器端,服務(wù)器端會根據(jù)查詢條件向數(shù)據(jù)庫查詢想要顯示的數(shù)據(jù),最后將數(shù)據(jù)返回到視圖層進行顯示。而基于Ajax進行分頁顯示實現(xiàn)的方式是:首先創(chuàng)建一個異步傳輸對象,該對象創(chuàng)建完成后,可以使用該對象的open方法創(chuàng)建一個請求,該方法所需的具體參數(shù)如下:
Method:指定請求的類型,一般為get或者post;
url:指定請求的地址,可以是絕對地址或相對地址,可以附帶查詢字符串;
asynchronous:可選參數(shù),表示請求是同步還是異步,異步請求為true,同步請求為false,默認為true。在創(chuàng)建完請求后可以使用send方法向服務(wù)器發(fā)送這個請求。最后通過使用on-readystatechange綁定請求成功后處理數(shù)據(jù)的方法。
四、編程實現(xiàn)
由于代碼實現(xiàn)篇幅較長,這里只給出核心方法的實現(xiàn)
page.php
<?php
classPage
{
private¥pagesize=2;
functiongetPageList(¥pageNum){…}//得到要顯示的數(shù)據(jù)
functiongetTotalPages(){…}//得到總頁數(shù)
//得到分頁導航條
functiongetPageBar(¥currentPage)
{
$start_page=1;
$pageLength=8;
$totalpages=¥this->getTotalPages();
$pageBar="";
…
return¥pageBar;
}
}
?>
該類用來進行數(shù)據(jù)庫查詢操作和生成分頁導航條。該類既適用于Ajax分頁,也適用于傳統(tǒng)分頁。
ajax.js
varxmlHttp=newcreateXmlHttpRequestObject();
//創(chuàng)建異步傳輸對象
functioncreateXmlHttpRequestObject()
{
varxmlHttp;
…
returnxmlHttp;
}
functionprocess(pageNum)
{
if(xmlHttp)
{
try
{
xmlHttp.open("GET","creatXml.php?pageNum="+pageNum,true);
xmlHttp.onreadystatechange=doRequest;
xmlHttp.send(null);
}
catch(e)
{
alert("Can'tconnecttoserver:\n"+e.toString());
}
}
}
functiondoRequest()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
try
{
getResponseXml();
}
catch(e)
{
alert("Errorreadingtheresponse:"+e.toString());
}
基于PHP+MySql+Ajax的分頁技術(shù)方案
天津工業(yè)大學蘇厚雄王琬茹
[摘要]Ajax是指通過JavaScript發(fā)出異步HTTP請求,在不重載頁面的情況下從服務(wù)器獲取信息。本文利用Ajax結(jié)
合PHP與MySql數(shù)據(jù)庫解決分頁技術(shù)問題。該方案實現(xiàn)的總體思路是通過用戶點擊分頁導航條上的超鏈接來調(diào)用
JS函數(shù),向服務(wù)器端發(fā)送異步的HTTP請求來獲取需要的數(shù)據(jù),并在服務(wù)器端將數(shù)據(jù)以XML格式返回到客戶端,在
客戶端用DOM進行數(shù)據(jù)的解析并呈現(xiàn)。
[關(guān)鍵詞]AjaxPHP分頁技術(shù)
213
——
總結(jié)
以上是生活随笔為你收集整理的php ajax mysql 分页查询_基于PHP_MySql_Ajax的分页技术方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 长沙岳麓区阳光100的电是多少钱一度?
- 下一篇: mysql 5.7 xbackup_Ce
