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截取中文字符串的问题
Jul 12 PHP
一个很不错的PHP翻页类
Jun 01 PHP
PHP 验证码的实现代码
Jul 17 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
php输出xml属性的方法
Mar 19 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
PHP Include文件实例讲解
Feb 15 PHP
php数组指针函数功能及用法示例
Feb 11 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 在文件指定行插入数据的代码
2010/05/08 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
java程序员面试交流
2012/11/29 面试题
会计专业应届生求职信
2013/11/24 职场文书
教师自我反思材料
2014/02/14 职场文书
职称评定自我鉴定
2014/03/18 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
2014年变电站工作总结
2014/12/19 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书