程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework實現留言本分頁功能(附demo源碼下載)

Zend Framework實現留言本分頁功能(附demo源碼下載)

編輯:PHP綜合

本文實例講述了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相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基於Zend Framework框架的PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved