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版本号
Oct 09 PHP
附件名前加网站名
Mar 23 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 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包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
js实现动态增加文件域表单功能
2018/10/22 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
python实现线程池的方法
2015/06/30 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
python 生成器协程运算实例
2017/09/04 Python
详解python之heapq模块及排序操作
2019/04/04 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
python 对xml解析的示例
2021/02/27 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
代理商会议邀请函
2014/01/27 职场文书
优秀会计求职信
2014/07/04 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
承诺保证书格式
2015/02/28 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
python scrapy简单模拟登录的代码分析
2021/07/21 Python
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers