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 相关文章推荐
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
深入理解PHP内核(一)
Nov 10 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
Zend Framework分页类用法详解
Mar 22 PHP
php构造函数与析构函数
Apr 23 PHP
关于php中的json_encode()和json_decode()函数的一些说明
Nov 20 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
php实现的pdo公共类定义与用法示例
Jul 19 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
自己动手做一个SQL解释器
2006/10/09 PHP
php实现的在线人员函数库
2008/04/09 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
javascript中的继承实例代码
2011/04/27 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
Python实现识别图片内容的方法分析
2018/07/11 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
python dict如何定义
2020/09/02 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
中专生自我鉴定范文
2013/12/19 职场文书
远程研修随笔感言
2014/02/10 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
创业融资计划书
2014/04/25 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
好人好事演讲稿
2014/09/01 职场文书
秋季运动会开幕词
2015/01/28 职场文书
小学数学教学反思范文
2016/02/16 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫