分頁對于基于數(shù)據(jù)庫的應(yīng)用來講,是很常見的一個問題。新的zentaoPHP框架中,提供了內(nèi)置的分頁功能。使用如下:
我們以查詢用戶列表為例,在應(yīng)用中建立一個user的模塊,在其中的control文件中,定義一個browse方法,來完成分頁的功能:
browse方法需要定義三個參數(shù):recTotal, recPerPage, pageID,變量名是固定的。
public function browse($recTotal, $recPerPage, $pageID) { /* 加載分頁類,并生成pager對象。*/ $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); /* 將分頁類傳給model,進(jìn)行分頁。*/ $users = $this->user->getList($pager); }
model中定義一個getList方法,接收pager對象,并在dao查詢的時候,調(diào)用pager($pager)方法來生成分頁語句。
public function getList($pager) { return $this->dao->select(*)->from('user')->page($pager)->fetchAll(); }
再回到control的browse方法中,將pager對象賦值給模板。
public function browse($recTotal, $recPerPage, $pageID) { /* 加載分頁類,并生成pager對象。*/ $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); /* 將分頁類傳給model,進(jìn)行分頁。*/ $users = $this->user->getList($pager); /* 賦值到模板。*/ $this->view->users = $users; $this->view->pager = $pager; }
模板中顯示分類鏈接:show()方法有兩個參數(shù),$align: left, center, right,默認(rèn)是居右對齊。$type: full|short|shortest
<?php $pager->show();?>
更多建議: