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 相关文章推荐
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
实用函数5
Nov 08 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
codeigniter中实现一次性加载多个view的方法
Mar 20 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
laravel手动创建数组分页的实现代码
Jun 07 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 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 中文乱码解决办法总结分析
2009/07/30 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python、Javascript中的闭包比较
2015/02/04 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
Java如何支持I18N?
2016/10/31 面试题
网站设计师的岗位职责
2013/11/21 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
北京颐和园导游词
2015/01/30 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
Ajax实现三级联动效果
2021/10/05 Javascript