Zend Framework框架实现类似Google搜索分页效果

本文实例讲述了Zend Framework框架实现类似Google搜索分页效果。分享给大家供大家参考,具体如下:

/**

*

* @param unknown_type $model 表类型

* @param unknown_type $ncontroller 那个控制器提交的controller

* @param unknown_type $naction 那个action提交的action

*/

public function fenyepage2($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('sname like ?',"%$sname%");

}

if($_SESSION['qsaddress']!=""){

$saddress = $_SESSION['qsaddress'];

$select->where('saddress like ?',"%$saddress%");

}

if($_SESSION['qsdept']!=""){

$sdept = $_SESSION['qsdept'];

$select->where('sdept like ?',"%$sdept%");

}

$coutNews = $db->fetchAll($select);

$pageCount = ceil(count($coutNews)/$pageSize);

$select->limit($pageSize,$offset);//第一个参数:总共显示多少个。第二个参数:从第几个开始显示

$res = $db->fetchAll($select);

$native = null;

$native = "<a href='\\$ncontroller\\$naction?pageNow=1&pagesize=$pageSize'>首页</a>&nbsp";

if($pageNow>1){

$nextPage = $pageNow-1;

$native.="&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>上一页</a>&nbsp;";

}

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.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$start&pagesize=$pageSize'>$start</a>";

}

if($pageNow<$pageCount){

$nextPage = $pageNow+1;

$native.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>下一页</a>&nbsp;";

}

$native.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$pageCount&pagesize=$pageSize'>末页</a>&nbsp;";

$native.="&nbsp;&nbsp;当前{$pageNow}||总共{$pageCount}页";

$model->arrs = $res;

$model->native = $native;

}

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

以上是 Zend Framework框架实现类似Google搜索分页效果 的全部内容, 来源链接: utcz.com/z/320142.html

回到顶部