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 相关文章推荐
JS实现php的伪分页
May 25 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
Laravel 模型关联基础教程详解
Sep 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
angular4自定义组件详解
2017/09/28 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python类的用法实例浅析
2015/05/27 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
浅谈Django REST Framework限速
2017/12/12 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python实现淘宝秒杀脚本
2020/06/23 Python
浅谈python常用程序算法
2019/03/22 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
手工社团活动方案
2014/02/17 职场文书
教师职位说明书
2014/07/29 职场文书
党代会心得体会
2014/09/04 职场文书
授权委托书公证
2014/09/14 职场文书
公积金贷款承诺书
2015/04/30 职场文书
财务年终工作总结大全
2019/06/20 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
python获取带有返回值的多线程
2022/05/02 Python
解决 redis 无法远程连接
2022/05/15 Redis