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


Posted in PHP onMarch 22, 2016

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

PHP 相关文章推荐
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php实现的RSS生成类实例
Apr 23 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 #PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 #PHP
Zend Framework分页类用法详解
Mar 22 #PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 #PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 #PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 #PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 #PHP
You might like
PHP的简易冒泡法代码分享
2012/08/28 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
python issubclass 和 isinstance函数
2019/07/25 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
python opencv如何实现图片绘制
2020/01/19 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python FTP编程基础入门
2021/02/27 Python
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
华为C++笔试题
2014/08/05 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
大学四年的个人自我评价
2014/01/14 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
开学典礼策划方案
2014/05/28 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
保送生自荐信范文
2015/03/26 职场文书
vue 实现上传组件
2021/05/31 Vue.js
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers