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 相关文章推荐
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
php parse_str() 函数的定义和用法
May 23 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP中strval()函数实例用法
Jun 07 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并发对MYSQL造成压力的解决方法
2013/02/21 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
了解重排与重绘
2019/05/29 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
浅谈Python中的bs4基础
2018/10/21 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
大四学年自我鉴定
2013/11/13 职场文书
法律进机关实施方案
2014/03/12 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
要账委托书范本
2014/09/15 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS