Zend Framework实现留言本分页功能(附demo源码下载)

5年以前  |  阅读数:863 次  |  编程语言:PHP 

本文实例讲述了Zend Framework实现留言本分页功能的方法。分享给大家供大家参考,具体如下:

这里的分页功能运用了..Zend_Paginator这个组件来实现留言本分页...这里我也是参考PHPCHINA里一位PHPer写的这方面的教程

我实现的坏境以及项目的目录安排是在第三篇教程的基础上写的..如果有朋友不明白目录什么的安排..请用ZF1.6.0以上.请自己前面的文章里找一下这篇教程...我在这里就不多说什么了..谢谢..

第一步:在我们的控制器里面,也就是indexController.php里找到indexAction这个动作.我们可以看到..在这个动作里.我们相关教程只是取数据..我们现在把这个动作(Action)改写成如下形式..如下代码(有注解):


    function indexAction()
    {
    $message=new message();//实例化数据库类
    //取到所有留言getAllMessage,getAllReMessage
    //二个方法在Model(Message.php)里定义的
    //取到所有回复数据
    $this->view->arrReviews=$message->getAllReMessage();
    $page =1;//高置默认页
    $numPerPage = 3;//每页显示的条数
    if(isset($_GET['page']) && is_numeric($_GET['page'])){
       $page = $_GET['page'];//取到URL传过来的页数码
    }
    $array=$message->getAllMessage();//取到所有留言数据
    $paginator = Zend_Paginator::factory($array);
    $paginator->setCurrentPageNumber($page)
        ->setItemCountPerPage($numPerPage);
    $this->view->paginator = $paginator;
    echo $this->view->render('header.phtml');//显示模版头文件
    echo $this->view->render('message/index.phtml');//显示模版
    echo $this->view->render('footer.phtml');//显示模版脚文件
    }

第二步:搞定我们要分页的样式,这里是以一个HTML设定分页的样式..在Zend Framework手册上.提供了三种分页显示的方式...大家可以自己去看一下他们的用法..其实很简单的..我运用了它的第一种.我们就在views/scripts/目录下建立一个新的模板页pagestyle.phtml..这个模板页是和留言本header.phtml以及footer.phtml同一级的..因为我们可能以后还会用到这个分页方式..所以我就放在这里..:pagestyle.phtml代码如下所示:(注意:在这里请在你的入口文件index.php定义一下你的WEB_ROOT为全局变量,它就是你网站根目录!):


    if ($this->pageCount): ?>
    class="paginationControl">
     if (isset($this->previous)): ?>
     "index/index/?page=
    previous; ?> ">< 上一页 |
     else: ?>
     class="disabled">< 上一页 |
     endif; ?>
     foreach ($this->pagesInRange as $page): ?>
      if ($page != $this->current): ?>
    "index/index/?page=
    ">$page; ?> |
      else: ?>   = $page; ?> |
      endif; ?> endforeach; ?>
     if (isset($this->next)): ?>
     "index/index/?page=
    next; ?>">下一页 >
     else: ?>
     class="disabled">下一页 >
     endif; ?>
     endif; ?>

第三步:找到留言本显示页的index.pthml模板页,把原来:


    foreach($this->messages as $message): ?>

这个换成


    if (count($this->paginator)): ?>
     $i=1; foreach ($this->paginator as $message): ?>

之后.我们再在最后面加一分页的显示:


    = $this->paginationControl($this->paginator,
    'Elastic', 'pagestyle.phtml'); ?>

这样..我们就可以看到我们留言分页大功告成

完整实例代码点击此处本站下载

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

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例