萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> ThinkPHP分頁類使用詳解

ThinkPHP分頁類使用詳解

 當網站的留言內容越來越多的時候,分頁功能的應用就應運而生了,本文我們就來重點講解下ThinkPHP框架自帶的分頁類的調用

一、首先需要在MsgManage控制器中加入分頁方法   知識點: 1、count函數的試用 2、Page類實例化操作及相關參數了解 3、limit函數了用 4、show函數了解   編輯文件admin/Lib/Action/MsgManageAction.class.php   代碼如下:   代碼如下: class MsgManageAction extends CommonAction {     public function index(){      import('ORG.Util.Page');   //import調用的是message/ThinkPHP框架目錄下的擴展包Extend/Library/ORG/Util/中的Page.class.php類文件      $count = M('board')->count();   //調用board庫,取出所有數據條數      $page = new Page($count ,10);   //實例化Page類,其中第一個參數為顯示條數的總數,每次取出十條,也就是下面$page->listRows的值   $limit = $page->firstRow . ',' . $page->listRows;   //$page->firstRow為查找的起始條數,默認為0,如果$page->listRows為10,那麼第2頁的$page->firstRow就為10,以此類推     $board = M('board')->order('time DESC')->limit($limit)->select();   //注意,這裡較之前的版本添加了->limit($limit)   $this->board = $board;   $this->page = $page->show();   //將$page->show()通過show方法解析$page內容顯示並賦值給模板變量,供模板調用     $this->display();     }    Public function delete(){   $id = I('id','','intval');     if(M('board')->delete($id)){    $this->success('刪除成功',U('index'));   }else{    $this->error('刪除失敗');   }  } }     show方法是3.1版本才有的一個新功能 ThinkPHP中頁面輸出的過程是讀取模板文件,然後進行模板解析(也支持調用第三方模板引擎解析),但是有一些情況,我們並沒有定義模板文件,或者把模板文件保存在數據庫裡面,那麼這個時候進行頁面輸出的時候,我們是無法進行模板文件讀取的,3.1版本則針對這樣的情況增加了內容解析輸出的功能。 內置的模板引擎也進行了完善,如果傳入的模板文件不存在的話,則會認為是傳入的模板解析內容,因此,3.1的View類和Action類也做了一些改進。 display方法用於模板文件渲染輸出,show方法則用於模板內容渲染輸出,並且show方法仍然支持內容解析功能 具體內容可參考:ThinkPHP3.1新特性 內容解析輸出 二、在模板文件中加入分頁模塊 知識點: 1、td單元格合並 2、$page變量調用顯示   編輯文件:admin/Tpl/MsgManage/index.html,加入一段tr用來顯示分頁相關,代碼如下:    代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Message Board BackGround</title> </head> <body>  <table class="table" border="1">   <tr>    <th>ID</th>    <th>發布者</th>    <th>內容</th>    <th>發布時間</th>    <th>操作</th>   </tr>     <foreach name='board' item='b'>    <tr>     <td>{$b.id}</td>     <td>{$b.username}</td>     <td>{$b.content}</td>     <td>{$b.time|date='y-m-d H:i',###}</td>     <td><a href="{:U('admin.php/MsgManage/delete',array('id' => $b['id'])),''}">刪除</a></td>    </tr>   </foreach>     //新增tr代碼短   <tr>    <td colspan='5' align='center'>    //將5個單元格合並,並且居中顯示     {$page}     //顯示控制器中$this->page內容    </td>   </tr>  </table> </body> </html>
copyright © 萬盛學電腦網 all rights reserved