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