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


Posted in PHP onNovember 25, 2016

本文实例讲述了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> ";
    if($pageNow>1){
      $nextPage = $pageNow-1;
      $native.=" <a href='\\$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.="  <a href='\\$ncontroller\\$naction?pageNow=$start&pagesize=$pageSize'>$start</a>";
      }
    if($pageNow<$pageCount){
      $nextPage = $pageNow+1;
      $native.="  <a href='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>下一页</a> ";
    }
    $native.="  <a href='\\$ncontroller\\$naction?pageNow=$pageCount&pagesize=$pageSize'>末页</a> ";
    $native.="  当前{$pageNow}||总共{$pageCount}页";
    $model->arrs = $res;
    $model->native = $native;
}

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

PHP 相关文章推荐
实用函数3
Nov 08 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 #PHP
Zend Framework上传文件重命名的实现方法
Nov 25 #PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 #PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 #PHP
php对接java现实加签验签的实例
Nov 25 #PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 #PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 #PHP
You might like
php递归使用示例(php递归函数)
2014/02/14 PHP
phplot生成图片类用法详解
2015/01/06 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP时间函数使用详解
2019/03/21 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
信息管理专业推荐信
2013/10/29 职场文书
给女朋友的道歉信
2014/01/10 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
募捐倡议书
2014/04/14 职场文书
婚前协议书范本
2014/04/15 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
标准单位租车协议书
2014/09/23 职场文书
消防演习通知
2015/04/25 职场文书
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript