热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » PHP/Perl编程 » Zend Framework教您怎样让实现留言本分页

Zend Framework教您怎样让实现留言本分页

论坛链接
  • Zend Framework教您怎样让实现留言本分页
  • 发布时间:2009-07-29 14:18:25    浏览数:7685    发布者:superadmin    设置字体【   
不好意思啊...各位PHPer...自己这几天虽然是有几篇日志出来..可是这一系列的教程还是没有出来...呵呵...现在我就接着出第四篇教程吧..其实呢..要是你们实现了第三篇教程的话,这第四篇教程实现起来是非常容易的事情..不信..就看下面的步骤实现起来吧....
这里的分页功能运用了..Zend_Paginator这个组件来实现留言本分页...这里我也是参考PHPCHINA里一位PHPer写的这
方面的教程.地址如下:http://www.phpchina.com/bbs/thread-85269-1-1.html..

我实现的坏境以及项目的目录安排是在第三篇教程的基础上写的..如果有朋友不明白目录什么的安排..请用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为全局变量,它就是你网站根目录!):


<?php if ($this->pageCount): ?> <div class="paginationControl"><!-- Previous page link --> <?php if (isset($this->previous)): ?> <a href="<?=WEB_ROOT ?>index/index/?page=<?php echo $this->previous; ?> ">< 上一页</a> | <?php else: ?> <span class="disabled">< 上一页</span> | <?php endif; ?> <!-- Numbered page links --><?php foreach ($this->pagesInRange as $page): ?> <?php if ($page != $this->current): ?><a href="<?=WEB_ROOT ?>index/index/?page=<?php echo $page; ?>"><?= $page; ?></a> | <?php else: ?> <?= $page; ?> | <?php endif; ?> <?php endforeach; ?> <!-- Next page link --> <?php if (isset($this->next)): ?> <a href="<?=WEB_ROOT ?>index/index/?page=<?php echo $this->next; ?>">下一页 ></a><?php else: ?> <span class="disabled">下一页 ></span><?php endif; ?> </div> <?php endif; ?>
第三步:找到留言本显示页的index.pthml模板页,把原来:


<? foreach($this->messages as $message): ?>这个换成

<?php if (count($this->paginator)): ?> <?php $i=1; foreach ($this->paginator as $message): ?>
之后.我们再在最后面加一分页的显示:

<?= $this->paginationControl($this->paginator, 'Elastic', 'pagestyle.phtml'); ?>这样..我们就可以看到我们留言分页大功告成!!如下图片:







希望大家可以看的明白..哈哈...源码我晚点整理一下给放出来...谢谢...


现在补上源码..源码下载
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理