Zend Framework框架实现类似Google搜索分页效果
本文实例讲述了ZendFramework框架实现类似Google搜索分页效果。分享给大家供大家参考,具体如下:
/**
*
*@paramunknown_type$model表类型
*@paramunknown_type$ncontroller那个控制器提交的controller
*@paramunknown_type$naction那个action提交的action
*/
publicfunctionfenyepage2($model,$ncontroller,$naction){
if(!isset($_SESSION))
{session_start();}
$pageSize=$_SESSION['pagesize'];
$pageNow=$_SESSION['pagenow'];
$offset=($pageNow-1)*$pageSize;
$db=$this->getAdapter();
$select=$db->select();
$select->from('student','*');
if(!isset($_SESSION))
{session_start();}
if($_SESSION['qsname']!=""){
$sname=$_SESSION['qsname'];
$select->where('snamelike?',"%$sname%");
}
if($_SESSION['qsaddress']!=""){
$saddress=$_SESSION['qsaddress'];
$select->where('saddresslike?',"%$saddress%");
}
if($_SESSION['qsdept']!=""){
$sdept=$_SESSION['qsdept'];
$select->where('sdeptlike?',"%$sdept%");
}
$coutNews=$db->fetchAll($select);
$pageCount=ceil(count($coutNews)/$pageSize);
$select->limit($pageSize,$offset);//第一个参数:总共显示多少个。第二个参数:从第几个开始显示
$res=$db->fetchAll($select);
$native=null;
$native="<ahref='\\$ncontroller\\$naction?pageNow=1&pagesize=$pageSize'>首页</a> ";
if($pageNow>1){
$nextPage=$pageNow-1;
$native.=" <ahref='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>上一页</a> ";
}
if(($pageNow-1)>5){
if($pageNow+4>$pageCount){//如果最后的页数和理应前面开始的页数小于10则
$start=$pageCount-9;//开始的页数和结束的页数相差9
}else{
$start=$pageNow-5;//开始位置和结束位置相差5
}
}else{
$start=floor(($pageNow-1)/10)*10+1;
}
if($pageCount>=$start+10){
$index=$start+10;
}
else{
$index=$pageCount+1;
}
for(;$start<$index;$start++){
$native.=" <ahref='\\$ncontroller\\$naction?pageNow=$start&pagesize=$pageSize'>$start</a>";
}
if($pageNow<$pageCount){
$nextPage=$pageNow+1;
$native.=" <ahref='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>下一页</a> ";
}
$native.=" <ahref='\\$ncontroller\\$naction?pageNow=$pageCount&pagesize=$pageSize'>末页</a> ";
$native.=" 当前{$pageNow}||总共{$pageCount}页";
$model->arrs=$res;
$model->native=$native;
}
更多关于zend相关内容感兴趣的读者可查看本站专题:《ZendFrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于ZendFramework框架的PHP程序设计有所帮助。