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字符串截取中文截取2,单字节截取模式
Dec 10 PHP
PHP集成FCK的函数代码
Sep 27 PHP
深入PHP数据缓存的使用说明
May 10 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
php 函数使用可变数量的参数方法
May 02 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
php实现表单提交上传文件功能
May 28 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 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
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
php继承的一个应用
2011/09/06 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python 等差数列末项计算方式
2020/05/03 Python
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
财务主管的岗位职责
2013/12/30 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
创意活动策划书
2014/01/15 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
场地使用证明模板
2014/10/25 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
长城导游词400字
2015/01/30 职场文书
信用卡工作证明范本
2015/06/19 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
Python实现信息管理系统
2022/06/05 Python