Zend Framework實現(xiàn)留言本分頁功能(附demo源碼下載)
本文實例講述了Zend Framework實現(xiàn)留言本分頁功能的方法。分享給大家供大家參考,具體如下:
這里的分頁功能運用了..Zend_Paginator這個組件來實現(xiàn)留言本分頁...這里我也是參考PHPCHINA里一位PHPer寫的這方面的教程
我實現(xiàn)的壞境以及項目的目錄安排是在第三篇教程的基礎(chǔ)上寫的..如果有朋友不明白目錄什么的安排..請用ZF1.6.0以上.請自己前面的文章里找一下這篇教程...我在這里就不多說什么了..謝謝..
第一步:在我們的控制器里面,也就是indexController.php里找到indexAction這個動作.我們可以看到..在這個動作里.我們相關(guān)教程只是取數(shù)據(jù)..我們現(xiàn)在把這個動作(Action)改寫成如下形式..如下代碼(有注解):
function indexAction() { $message=new message();//實例化數(shù)據(jù)庫類 //取到所有留言getAllMessage,getAllReMessage //二個方法在Model(Message.php)里定義的 //取到所有回復(fù)數(shù)據(jù) $this->view->arrReviews=$message->getAllReMessage(); $page =1;//高置默認(rèn)頁 $numPerPage = 3;//每頁顯示的條數(shù) if(isset($_GET['page']) && is_numeric($_GET['page'])){ $page = $_GET['page'];//取到URL傳過來的頁數(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');//顯示模版腳文件 }
第二步:搞定我們要分頁的樣式,這里是以一個HTML設(shè)定分頁的樣式..在Zend Framework手冊上.提供了三種分頁顯示的方式...大家可以自己去看一下他們的用法..其實很簡單的..我運用了它的第一種.我們就在views/scripts/目錄下建立一個新的模板頁pagestyle.phtml..這個模板頁是和留言本header.phtml以及footer.phtml同一級的..因為我們可能以后還會用到這個分頁方式..所以我就放在這里..:pagestyle.phtml代碼如下所示:(注意:在這里請在你的入口文件index.php定義一下你的WEB_ROOT為全局變量,它就是你網(wǎng)站根目錄!):
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'); ?>
這樣..我們就可以看到我們留言分頁大功告成
完整實例代碼點擊此處本站下載。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Zend Framework框架的PHP程序設(shè)計有所幫助。
相關(guān)文章
用Laravel Sms實現(xiàn)laravel短信驗證碼的發(fā)送的實現(xiàn)
這篇文章主要介紹了用Laravel Sms實現(xiàn)laravel短信驗證碼的發(fā)送的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11codeigniter中view通過循環(huán)顯示數(shù)組數(shù)據(jù)的方法
這篇文章主要介紹了codeigniter中view通過循環(huán)顯示數(shù)組數(shù)據(jù)的方法,實例分析了codeigniter中view方法與數(shù)組遍歷的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03利用Laravel生成Gravatar頭像地址的優(yōu)雅方法
Gravatar是一圖像跟隨著您到訪過的網(wǎng)站,當(dāng)您在博客中留言或發(fā)表文章,它將會出現(xiàn)在您的名稱旁。下面這篇文章主要給大家介紹了關(guān)于利用Laravel如何生成 Gravatar 頭像地址的優(yōu)雅方法,需要的朋友可以參考下。2017-12-12Yii2中YiiBase自動加載類、引用文件方法分析(autoload)
這篇文章主要介紹了Yii2中YiiBase自動加載類、引用文件的方法,實例分析了Yii中的autoload函數(shù)用于自動加載類及引用文件的相關(guān)技巧,需要的朋友可以參考下2016-07-07