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注释实例技巧
Oct 03 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
php设计模式 State (状态模式)
Jun 26 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
php类的扩展和继承用法实例
Jun 20 PHP
Symfony2 session用法实例分析
Feb 04 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
Mar 13 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 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等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
初识ThinkPHP控制器
2016/04/07 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
appium+python adb常用命令分享
2020/03/06 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
10个示例带你掌握python中的元组
2020/11/23 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
应届护士求职信范文
2014/01/26 职场文书
老同学聚会感言
2014/02/23 职场文书
党的群众路线对照检查材料思想汇报(学校)
2014/10/04 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android
SQL CASE 表达式的具体使用
2022/03/21 SQL Server