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程序设计有所帮助。