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+javascript实现二级级联菜单的制作
May 06 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
php向js函数传参的几种方法
Aug 10 PHP
php实现webservice实例
Nov 06 PHP
PHP中文编码小技巧
Dec 25 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
PHP中SESSION过期设置
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的session数据存储到数据库中的代码实例
2016/06/24 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
javascript 弹出层组件(升级版)
2011/05/12 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
python 输出上个月的月末日期实例
2018/04/11 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
python函数不定长参数使用方法解析
2019/12/14 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
挂职自我鉴定
2014/02/26 职场文书
中学生英语演讲稿
2014/04/26 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
卫生标语大全
2014/06/21 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
分居协议书范本
2014/11/03 职场文书
优秀团队申报材料
2014/12/26 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
学校标语口号大全
2015/12/26 职场文书
《所见》教学反思
2016/02/23 职场文书
应届毕业生的自我评价
2019/06/21 职场文书