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 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
Apr 03 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 PHP
PHP7 错误处理机制修改
Mar 09 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的FTP学习(二)
2006/10/09 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
js制作提示框插件
2020/12/24 Javascript
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
python实现井字棋小游戏
2020/03/04 Python
pycharm导入源码的具体步骤
2020/08/04 Python
法国体育用品商店:GO Sport
2019/10/23 全球购物
自立自强的名人事例
2014/02/10 职场文书
承诺书的格式范文
2014/03/28 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
个人业务学习心得体会
2016/01/25 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
党组织结对共建协议书
2016/03/23 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
Python time库的时间时钟处理
2021/05/02 Python
带你了解Java中的ForkJoin
2022/04/28 Java/Android
Spring中bean集合注入的方法详解
2022/07/07 Java/Android