ThinkPHP中的Page類在ThinkPHP/Extend/Library/ORG/Util/Page.class.php中,所以使用前要引入Page類:
復制代碼 代碼如下:
import('ORG.Util.Page'); //Page類的引入
$db = M('abc');//實例化數據表abc
$where = array(
'id'=>'2';
);//條件語句$where,例表中字段id的值為2
$count = $db->where($where)->count();//獲取符合條件的數據總數count
$page = new Page($count, 10);//實例化page類,傳入數據總數和每頁顯示10條內容
$limit = $page->firstRow . ',' . $page->listRows;//每頁的數據數和內容$limit
$result =$db->where($where))->limit($limit)->select();//分頁查詢結果
$this->result = $result;//賦值
$this->show = $page->show();//獲取分頁的底部信息
以上代碼是分頁類實現的基本語句,當然喜歡使用原生sql語句的朋友也可以配合原生sql語句實現查詢分頁:
復制代碼 代碼如下:
import('ORG.Util.Page'); //Page類的引入
$db = M('abc');//實例化數據表abc
$where = array(
'id'=>'2';
);//條件語句$where,例表中字段id的值為2
$count = $db->where($where)->count();//獲取符合條件的數據總數count
$page = new Page($count, 10);//實例化page類,傳入數據總數和每頁顯示10條內容
$Modle = new Model();//實例化新數據模型
$sql = 'select id,name from abc where '.$where.' limit '.$page->firstRow.','.$page->listRows;//sql語句
$result = $Modle->query($sql);//執行sql語句
$this->result = $result
$this->show=$page->show();
當然,分布查詢獲取的內容也可以先對查詢完的數據進行處理再賦值,比如
復制代碼 代碼如下:
...
$result =$db->where($where))->limit($limit)->select();//分頁查詢結果
$res = abc($result);//abc方法(自定義方法或php函數)對結果$result進行數據排序或重組處理等
$this->result = $res;//賦值