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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
一些关于PHP的知识
Nov 17 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
PHP插入排序实现代码
Apr 04 PHP
php在window iis的莫名问题的测试方法
May 14 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
Mar 23 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
PHP实现根据密码长度显示安全条
Jul 04 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 购物车实例(申精)
2009/05/11 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
八大排序算法的Python实现
2021/01/28 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
班级寄语大全
2014/04/10 职场文书
安全生产月活动总结
2014/05/04 职场文书
抵押贷款承诺书
2014/05/30 职场文书
唐山大地震的观后感
2015/06/05 职场文书
Pandas加速代码之避免使用for循环
2021/05/30 Python
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby