程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP分頁類使用詳解

ThinkPHP分頁類使用詳解

編輯:PHP綜合

一、首先需要在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>

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