數據分頁是 Web 開發中一個常見的功能,ThinkPHP 內置了分頁類(ThinkPHP 系統目錄下 Lib/ORG/Util/Page.class.php),可以直接使用.
分頁類語法:Page(totalRows, listRows, parameter)
參數 說明
totalRows 必選,總的記錄數
listRows 可選,每頁顯示記錄數,默認 20
parameter 可選,分頁跳轉的參數
分頁例子
分頁操作
在查詢操作中,使用 import 指令導入分頁類,一個應用實例如下:
- public function select(){
- $Dao = M("User");
- // 計算總數 $count = $Dao->count();
- // 導入分頁類 import("ORG.Util.Page");
- // 實例化分頁類 $p = new Page($count, 10);
- // 分頁顯示輸出 $page = $p->show();
- // 當前頁數據查詢
- $list = $Dao->order('uid ASC')->limit($p->firstRow.','.$p->listRows)->select();
- // 賦值賦值 $this->assign('page', $page);
- $this->assign('list', $list);
- $this->display();
- }
語法說明:Page 類需要兩個初始化參數:數據總數和每頁顯示的數據數,這也是分頁的基本原理.
實例化一個分頁類后,調用 show() 方法顯示輸出分頁代碼,在查詢當前頁面顯示數據是,使用了 limit 方法,注意參數要使用 Page 類的屬性.
分頁模板:操作對應的模板為 select.html,參考代碼(只列出關鍵部分)如下:
- <table border="1">
- <tr>
- <th width="10%">ID</th>
- <th width="30%">用戶名</th>
- <th width="30%">電子郵件</th>
- <th>注冊時間</th>
- </tr>
- <volist name="list" id="vo">
- <tr>
- <td align="center">{$vo['uid']}</td>
- <td>{$vo['username']}</td>
- <td>{$vo['email']}</td>
- <td>{$vo['regdate']|date="Y-m-d H:i",###}</td>
- </tr>
- </volist>
- </table>
- <div>{$page}</div>
模板中將查出的用戶數據以表格的形式列出,在表格底部輸出分頁代碼,效果如下:
58 條記錄 2/6 頁 上一頁 下一頁 1 2 3 4 5 下5頁 最后一頁
新聞熱點
疑難解答
圖片精選