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 05 PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
Sep 20 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
PHP使用递归生成文章树
Apr 21 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
PHP命名空间简单用法示例
Dec 28 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
JObj预览一个JS的框架
2008/03/13 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
django ajax json的实例代码
2018/05/29 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
python实现人像动漫化的示例代码
2020/05/17 Python
详解python算法常用技巧与内置库
2020/10/17 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
2014年幼儿园元旦活动方案
2014/02/13 职场文书
环保建议书500字
2014/05/14 职场文书
火锅店的活动方案
2014/08/15 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
小学英语教学反思范文
2016/02/15 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
基于Python实现的购物商城管理系统
2021/04/27 Python