Zend Framework實(shí)現(xiàn)留言本分頁(yè)功能(附demo源碼下載)
本文實(shí)例講述了Zend Framework實(shí)現(xiàn)留言本分頁(yè)功能的方法。分享給大家供大家參考,具體如下:
這里的分頁(yè)功能運(yùn)用了..Zend_Paginator這個(gè)組件來(lái)實(shí)現(xiàn)留言本分頁(yè)...這里我也是參考PHPCHINA里一位PHPer寫的這方面的教程
我實(shí)現(xiàn)的壞境以及項(xiàng)目的目錄安排是在第三篇教程的基礎(chǔ)上寫的..如果有朋友不明白目錄什么的安排..請(qǐng)用ZF1.6.0以上.請(qǐng)自己前面的文章里找一下這篇教程...我在這里就不多說(shuō)什么了..謝謝..
第一步:在我們的控制器里面,也就是indexController.php里找到indexAction這個(gè)動(dòng)作.我們可以看到..在這個(gè)動(dòng)作里.我們相關(guān)教程只是取數(shù)據(jù)..我們現(xiàn)在把這個(gè)動(dòng)作(Action)改寫成如下形式..如下代碼(有注解):
function indexAction()
{
$message=new message();//實(shí)例化數(shù)據(jù)庫(kù)類
//取到所有留言getAllMessage,getAllReMessage
//二個(gè)方法在Model(Message.php)里定義的
//取到所有回復(fù)數(shù)據(jù)
$this->view->arrReviews=$message->getAllReMessage();
$page =1;//高置默認(rèn)頁(yè)
$numPerPage = 3;//每頁(yè)顯示的條數(shù)
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];//取到URL傳過(guò)來(lái)的頁(yè)數(shù)碼
}
$array=$message->getAllMessage();//取到所有留言數(shù)據(jù)
$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');//顯示模版腳文件
}
第二步:搞定我們要分頁(yè)的樣式,這里是以一個(gè)HTML設(shè)定分頁(yè)的樣式..在Zend Framework手冊(cè)上.提供了三種分頁(yè)顯示的方式...大家可以自己去看一下他們的用法..其實(shí)很簡(jiǎn)單的..我運(yùn)用了它的第一種.我們就在views/scripts/目錄下建立一個(gè)新的模板頁(yè)pagestyle.phtml..這個(gè)模板頁(yè)是和留言本header.phtml以及footer.phtml同一級(jí)的..因?yàn)槲覀兛赡芤院筮€會(huì)用到這個(gè)分頁(yè)方式..所以我就放在這里..:pagestyle.phtml代碼如下所示:(注意:在這里請(qǐng)?jiān)谀愕娜肟谖募ndex.php定義一下你的WEB_ROOT為全局變量,它就是你網(wǎng)站根目錄!):
if ($this->pageCount): ?> class="paginationControl"> if (isset($this->previous)): ?> "index/index/?page= previous; ?> ">< 上一頁(yè) | else: ?> class="disabled">< 上一頁(yè) | 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; ?>">下一頁(yè) > else: ?> class="disabled">下一頁(yè) > endif; ?> endif; ?>
第三步:找到留言本顯示頁(yè)的index.pthml模板頁(yè),把原來(lái):
foreach($this->messages as $message): ?>
這個(gè)換成
if (count($this->paginator)): ?> $i=1; foreach ($this->paginator as $message): ?>
之后.我們?cè)僭谧詈竺婕右环猪?yè)的顯示:
= $this->paginationControl($this->paginator, 'Elastic', 'pagestyle.phtml'); ?>
這樣..我們就可以看到我們留言分頁(yè)大功告成
完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP如何通過(guò)AJAX方式實(shí)現(xiàn)登錄功能
PHP是一門很好的語(yǔ)言,可以很方便的開發(fā)web應(yīng)用程序,下面介紹一下Ajax+PHP+MySQL登陸示例,感興趣的小伙伴們可以參考一下2015-11-11
php設(shè)計(jì)模式之觀察者模式定義與用法經(jīng)典示例
這篇文章主要介紹了php設(shè)計(jì)模式之觀察者模式定義與用法,結(jié)合完整實(shí)例形式詳細(xì)分析了php觀察者模式概念、原理、定義與使用方法,代碼注釋包含詳盡的說(shuō)明,需要的朋友可以參考下2019-09-09
PHP register_shutdown_function()函數(shù)的使用示例
這篇文章主要介紹了PHP register_shutdown_function()函數(shù)的使用示例,當(dāng)我們的腳本執(zhí)行完成或者意外死掉導(dǎo)致 php 執(zhí)行即將關(guān)閉時(shí),register_shutdown_function()這個(gè)函數(shù)會(huì)被調(diào)用,需要的朋友可以參考下2015-06-06
Thinkphp 框架擴(kuò)展之類庫(kù)擴(kuò)展操作詳解
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之類庫(kù)擴(kuò)展操作,結(jié)合實(shí)例形式分析了Thinkphp 類庫(kù)擴(kuò)展的相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
php arsort 數(shù)組降序排序詳細(xì)介紹
php arsort函數(shù)用于將數(shù)組中的元素按照降序進(jìn)行排序,如果排序成功則返回true,否則返回false,本文章向大家講解arsort函數(shù)的基本語(yǔ)法及使用實(shí)例,需要的朋友可以參考下2016-11-11
php實(shí)現(xiàn)兼容2038年后Unix時(shí)間戳轉(zhuǎn)換函數(shù)
這篇文章主要介紹了php實(shí)現(xiàn)兼容2038年后Unix時(shí)間戳轉(zhuǎn)換函數(shù),使用方法和就的函數(shù)一樣,非常實(shí)用,推薦給大家,希望大家能夠喜歡。2015-03-03
mantis安裝、配置和使用中的問(wèn)題小結(jié)
這篇文章主要介紹了開源PHP缺陷管理平臺(tái)mantis安裝、配置和使用中的問(wèn)題小結(jié),mantis是一個(gè)PHP的開源缺陷管理平臺(tái),需要的朋友可以參考下2014-07-07
WordPress中對(duì)訪客評(píng)論功能的一些優(yōu)化方法
這篇文章主要介紹了WordPress中對(duì)訪客評(píng)論功能的一些優(yōu)化,包括顯示評(píng)論上的歡迎信息等功能,需要的朋友可以參考下2015-11-11

