Zend Framework框架实现类似Google搜索分页效果

 更新时间:2016年11月25日 11:06:37   作者:Ud琦  
这篇文章主要介绍了Zend Framework框架实现类似Google搜索分页效果,结合实例形式分析了Zend Framework框架实现分页效果所涉及的基本查询、判断与分页效果构造相关操作技巧,需要的朋友可以参考下

本文实例讲述了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>&nbsp";
    if($pageNow>1){
      $nextPage = $pageNow-1;
      $native.="&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>上一页</a>&nbsp;";
    }
      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.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$start&pagesize=$pageSize'>$start</a>";
      }
    if($pageNow<$pageCount){
      $nextPage = $pageNow+1;
      $native.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$nextPage&pagesize=$pageSize'>下一页</a>&nbsp;";
    }
    $native.="&nbsp;&nbsp;<a href='\\$ncontroller\\$naction?pageNow=$pageCount&pagesize=$pageSize'>末页</a>&nbsp;";
    $native.="&nbsp;&nbsp;当前{$pageNow}||总共{$pageCount}页";
    $model->arrs = $res;
    $model->native = $native;
}

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

相关文章

  • PHP模板引擎Smarty中变量的使用方法示例

    PHP模板引擎Smarty中变量的使用方法示例

    这篇文章主要介绍了PHP模板引擎Smarty中变量的使用方法,详细讲述了Smarty模板的原理,下载,配置方法与变量的使用技巧,需要的朋友可以参考下
    2016-04-04
  • PHP中的switch语句的用法实例详解

    PHP中的switch语句的用法实例详解

    switch 语句用于基于不同条件执行不同动作。本文给大家介绍php中的switch语句的用法实例详解,涉及到switch用法方面的知识点,对switch用法感兴趣的朋友通过本文一起学习吧
    2015-10-10
  • form表单传递数组数据、php脚本接收的实例

    form表单传递数组数据、php脚本接收的实例

    下面小编就为大家带来一篇form表单传递数组数据、php脚本接收的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Laravel服务容器绑定的几种方法总结

    Laravel服务容器绑定的几种方法总结

    这篇文章主要给大家介绍了关于Laravel服务容器绑定的几种方式,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • PHP isset()与empty()的使用区别详解

    PHP isset()与empty()的使用区别详解

    本文主要介绍了PHP isset()与empty()的使用区别。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Thinkphp实现短信验证注册功能

    Thinkphp实现短信验证注册功能

    注册功能是很多网站必做的功能,有注册功能就要有短信验证码,本文给大家分享thinkphp实现短信验证注册功能,感兴趣的朋友一起看看吧
    2016-10-10
  • php传值方式和ajax的验证功能

    php传值方式和ajax的验证功能

    这篇文章给大家介绍了php前台传值到后台进行验证的三种方式,以及ajax的验证功能,需要的朋友一起学习吧
    2017-03-03
  • PDO操作MySQL的基础教程(推荐)

    PDO操作MySQL的基础教程(推荐)

    下面小编就为大家带来一篇PDO操作MySQL的基础教程(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • PHP XML和数组互相转换详解

    PHP XML和数组互相转换详解

    这篇文章主要介绍了PHP XML和数组互相转换详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • 开源php中文分词系统SCWS安装和使用实例

    开源php中文分词系统SCWS安装和使用实例

    这篇文章主要介绍了开源php中文分词系统SCWS安装和使用实例,需要的朋友可以参考下
    2014-04-04

最新评论