当前位置:主页 > php教程 > Zend Framework框架实现类似Google搜索分页效果

用Zend Framework框架实现Google搜索分页实例代码

发布:2019-12-30 15:38:41 94


本站收集了一篇Google搜索分页实例相关的编程文章,网友侯丰雅根据主题投稿了本篇教程内容,涉及到Zend、Framework、Google搜索分页、Zend Framework框架实现类似Google搜索分页效果相关内容,已被224网友关注,涉猎到的知识点内容可以在下方电子书获得。

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

本文实例讲述了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程序设计有所帮助。


参考资料

相关文章

  • Python3.9环境搭建RobotFramework的详细过程

    发布:2023-03-05

    Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD),这篇文章主要介绍了Python3.9环境搭建RobotFramework的详细过程,需要的朋友可以参考下


  • Android O实现Framework层CENTER键长按功能方法

    发布:2023-03-02

    这篇文章主要为大家介绍了Android O实现Framework层CENTER键长按功能方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • 从Django Rest Framework响应中删除空字段的代码方法

    发布:2019-12-07

    这篇文章主要介绍了详解从Django Rest Framework响应中删除空字段,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • Framework源码面试之activity启动流程

    发布:2023-03-12

    这篇文章主要为大家介绍了Framework源码面试之activity启动流程实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • Django REST Framework序列化外键获取外键的值实例

    发布:2020-07-14

    今天小编就为大家分享一篇Django REST Framework序列化外键获取外键的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • 示例讲解YII Framework框架使用YIIC快速创建YII应用之migrate用法

    发布:2020-02-08

    这篇文章主要介绍了YII Framework框架使用YIIC快速创建YII应用之migrate用法,详细分析了migrate的功能与用法,并给出创建登录后台的实例讲述了migrate的相关使用技巧,需要的朋友可以参考下


  • Zend Framework 连接数据库知识点详解

    发布:2020-02-07

    本篇文章是对如何使用Zend Framework 连接数据库的方法进行了详细的分析介绍,需要的朋友参考下


  • Zend Framework框架路由机制详解

    发布:2019-12-30

    这篇文章主要介绍了Zend Framework框架路由机制,结合代码分析了Zend Framework路由机制所涉及的控制器,路由器原理与相关代码实现技巧,需要的朋友可以参考下


网友讨论