Heim >php教程 >php手册 >Pear::Pager和AJAX的整合应用

Pear::Pager和AJAX的整合应用

WBOY
WBOYOriginal
2016-06-13 10:35:181057Durchsuche

作为一个PHP开发人员来说,大概很让人受用的一个东东就是Pear的类库了。我们知道,Pear::Pager是专门处理分页的,而Pear::HTML_AJAX则是Ajax应用的一些类库。但是Pager也不仅仅是只能用于html的分页链接,它已经为比超女还红的Ajax做好了准备,下面看看这两个包如何整合应用。

Pager and Javascript
现在走出第一步,Pager已经能够构建出javascript的链接了,和Ajax整合,理论上应该也是能够实现的,下面是Pager和javascript分页的一个例子:

PLAIN TEXT
PHP:
require_oncePager/Pager.php;
$data=range(1,100);//an array of data to paginate
$pager_params=array(
   mode     =>Sliding,
   append   =>false, //dont append the GET parameters to the url
   path     =>,
   fileName=>javascript:revealDiv(%d), //Pager replaces "%d" with the page number...
   perPage  =>10,//show 10 items per page
   delta    =>5,
   itemData=>$data,
);
$pager= & Pager::factory($pager_params);
$n_pages=$pager->numPages();
$links=$pager->getLinks();
?>


   
   


PEAR::Pagerexample with JavaScript





for($i=1;$i   echo
;
   echo

Page .$i.

;
   foreach($pager->getPageData($i)as$item){
       echoItem .$item.
;
   }
   echo
;
}
?>





例子中把分页的所有数据放入一个div标签,定义了两个比较重要的参数就是path(为空)和fileName,fileName原本应该是链接的文件名,但是这里用javascript替换了。

Ajax上阵
这个例子包括三个文件page.html,server.php,testdata.php


page.html
用动态javascript--server.php来处理数据,调用HTML_AJAX.replace(target, testdata.php)来替换id为target这个div的内容。

PLAIN TEXT
PHP:


PEAR::Pagerexample with AJAX


 

 
Im the target





testdata.php
这是个很简单的php程序,取到分页数据并输出html

PLAIN TEXT
PHP:
require_oncePager/Pager.php;
$data=range(1,100);//an array of data to paginate
$pager_params=array(
   mode     =>Sliding,
   append   =>false, //dont append the GET parameters to the url
   path     =>,
   fileName=>javascript:HTML_AJAX.replace( arget, estdata.php?pageID=%d);, //Pager replaces "%d" with the page number...
   perPage  =>10,//show 10 items per page
   delta    =>1,
   itemData=>$data,
);
$pager= & Pager::factory($pager_params);
$n_pages=$pager->numPages();
$links=$pager->getLinks();
echo

This container is loaded with an AJAX call

;
echo

DateTime: .date(Y-m-d H:i:s).

;
echo

Page .$pager->getCurrentPageId().

;
foreach($pager->getPageData()as$item){
   echoItem .$item.
;
}
echo
.$pager->links;
?>
最后,贴上幕后工作者server.php的代码
用HTML_AJAX_Server来处理ajax这些烦心事吧

PLAIN TEXT
PHP:
includeHTML/AJAX/Server.php;
 
$server=newHTML_AJAX_Server();
$server->handleRequest();
?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn