Thinkphp 專題 資料分頁

2021-08-21 16:18:40 字數 2064 閱讀 4158

通常在資料查詢後都會對資料集進行分頁操作,thinkphp也提供了分頁類來對資料分頁提供支援。 下面是資料分頁的兩種示例。

$user = m('user'); // 例項化user物件

$count = $user->where('status=1')->count();// 查詢滿足要求的總記錄數

$page = new \think\page($count,25);// 例項化分頁類 傳入總記錄數和每頁顯示的記錄數(25)

$show = $page->show();// 分頁顯示輸出

// 進行分頁資料查詢 注意limit方法的引數要使用page類的屬性

$list = $user->where('status=1')->order('create_time')->limit($page->firstrow.','.$page->listrows)->select();

$this->assign('list',$list);// 賦值資料集

$this->assign('page',$show);// 賦值分頁輸出

$this->display(); // 輸出模板

$user = m('user'); // 例項化user物件

// 進行分頁資料查詢 注意page方法的引數的前面部分是當前的頁數使用 $_get[p]獲取

$list = $user->where('status=1')->order('create_time')->page($_get['p'].',25')->select();

$this->assign('list',$list);// 賦值資料集

$count = $user->where('status=1')->count();// 查詢滿足要求的總記錄數

$page = new \think\page($count,25);// 例項化分頁類 傳入總記錄數和每頁顯示的記錄數

$show = $page->show();// 分頁顯示輸出

$this->assign('page',$show);// 賦值分頁輸出

$this->display(); // 輸出模板

如果是post方式查詢,如何確保分頁之後能夠保持原先的查詢條件呢,我們可以給分頁類傳入引數,方法是給分頁類的parameter屬性賦值

$count      = $user->where($map)->count();// 查詢滿足要求的總記錄數

$page = new \think\page($count,25);// 例項化分頁類 傳入總記錄數和每頁顯示的記錄數

//分頁跳轉的時候保證查詢條件

foreach($map as $key=>$val)

$show = $page->show();// 分頁顯示輸出

我們可以對輸出的分頁樣式進行定製,分頁類page提供了乙個setconfig方法來修改預設的一些設定。例如:

$page->setconfig('header','個會員');
setconfig方法支援的屬性包括:

屬性描述

header

頭部描述資訊,預設值 「共 %total_row% 條記錄」

prev

next

first

第一頁描述資訊,預設值 「1...」

last

最後一頁描述資訊,預設值 「...%total_page%」

theme

分頁主題描述資訊,包括了上面所有元素的組合 ,設定該屬性可以改變分頁的各個單元的顯示位置,預設值是 "%first% %up_page% %link_page% %down_page% %end%"

其中,顯示位置的對應的關係為:

位置說明

%first%

表示第一頁的鏈結顯示

%up_page%

%link_page%

表示分頁的鏈結顯示

%down_page%

%end%

表示最後一頁的鏈結顯示

thinkphp 簡單分頁

1 首先,我們得建立乙個用於分頁測試的資料庫 test。sql 如下。php create table test id int 10 unsigned not null auto increment,name char 100 not null,content varchar 300 not nul...

ThinkPHP分頁例項

控制器中的 db m cost where 查詢條件 count db where where count pagecount 20 page new think page count pagecount page parameter row 此處的row是陣列,為了傳遞查詢條件 page setc...

ThinkPHP分頁例項

很多人初學thinkphp時,不太熟悉thinkphp的分頁使用方法,現在將自己整理的分頁方法分享下,有需要的朋友可以看看。控制器中的 db m cost where 查詢條件 count db where where count pagecount 20 page new think page c...