ThinkPHP 3.2? ?? ???? ??? ??? ?? ???? ??? ?? ?? PHP ????????. ? ????? ThinkPHP 3.2?? ?? ??? ??? ??? ???? ??? ??? ? ????.
?? ????? ? ???? ???? ???? ?? ????(???? 20) ?? ??? ??? ???? ???. I('p',1)
? ?? ?? ??? ??? ?? ? ????. ????? ???? ??? ???? 1??????. I('p',1)
來獲取當前頁碼,如果沒有傳遞參數(shù),則默認為第 1 頁。
public?function?getList(){ ????$page_size?=?10;?//?每頁顯示10條數(shù)據(jù) ????$p?=?I('p',1);?//?獲取當前頁碼 ????//TODO:?... }
然后,需要計算出每頁數(shù)據(jù)的起始位置,以便在數(shù)據(jù)庫中進行分頁查詢。假設查詢表 user
中的數(shù)據(jù),可以使用 ThinkPHP 提供的 limit
方法進行分頁。
public?function?getList(){ ????$page_size?=?10;?//?每頁顯示10條數(shù)據(jù) ????$p?=?I('p',1);?//?獲取當前頁碼 ????$user?=?M('User'); ????$offset?=?($p-1)*$page_size;?//?計算當前頁數(shù)據(jù)的起始位置 ????$list?=?$user->limit($offset.','.$page_size)->select();//?按分頁查找數(shù)據(jù) }
在以上代碼中,計算數(shù)據(jù)起始位置時使用 $offset = ($p-1)*$page_size;
,然后使用 limit()
方法進行分頁查詢。
最后,需要在視圖文件中渲染分頁代碼,讓用戶可以方便地進行翻頁??梢允褂?ThinkPHP 提供的 page()
方法生成 Bootstrap 樣式的分頁代碼。
public?function?getList(){ ????$page_size?=?10;?//?每頁顯示10條數(shù)據(jù) ????$p?=?I('p',1);?//?獲取當前頁碼 ????$user?=?M('User'); ????$offset?=?($p-1)*$page_size;?//?計算當前頁數(shù)據(jù)的起始位置 ????$list?=?$user->limit($offset.','.$page_size)->select();//?按分頁查找數(shù)據(jù) ????$count?=?$user->count();?//?獲取數(shù)據(jù)總數(shù) ????$Page?=?new?\Think\Page($count,$page_size);?//?實例化分頁類 ????$show?=?$Page->show();?//?分頁顯示輸出 ????$this->assign('list',$list); ????$this->assign('page',$show);?//?分配分頁代碼到視圖 ????$this->display(); }
以上代碼中,使用 $count = $user->count();
獲取數(shù)據(jù)總數(shù),然后使用 new ThinkPage($count,$page_size);
實例化分頁類,傳入總數(shù)和每頁數(shù)據(jù)量,最后使用 $Page->show();
來生成分頁展示字符串。然后將分頁字符串傳遞給視圖文件,使用 $this->assign('page',$show);
分配變量即可。
總結(jié)
ThinkPHP 3.2 中設置當前頁分頁需要以下三個步驟:
- 在控制器中定義每頁顯示的數(shù)據(jù)量,以及獲取當前頁碼;
- 計算每頁數(shù)據(jù)的起始位置,使用
limit
rrreee ?? ?? ???????? ??? ??? ????? ? ??? ???? ?? ??? ???? ???. ?? ??? - rrreee ? ???? ???? ?? ??? ??? ?
user
? ???? ThinkPHP?? ???? limit
???? ???? ??? ??? ? ??? ?????. $offset = ($p-1)*$page_size;
? ??? ?, limit()
? ?????. ??> ??. ????? ???? ???? ???? ?? ? ??? ??? ??? ? ??? ????? ???. ThinkPHP?? ???? page()
???? ???? ????? ??? ??? ??? ??? ? ????.
$count = $user->count();
? ???? ? ??? ?? ?? ? new ThinkPage($count,$page_size)? ?????. );
??? ???? ??????? ? ??? ???? ??? ?? ??? ?? ????? $Page->show();
? ???? ??? ?? ???? ?????. ?? ?? ??? ???? ? ??? ???? $this->ass('page',$show);
? ???? ??? ?????. ??????????ThinkPHP 3.2?? ?? ??? ???? ????? ?? ? ??? ?????. ??- ??????? ? ???? ???? ???? ?? ???? ?? ??? ??? ?????. ?????? ??? ?????. ? ??? ????? ??? ???
limit
???? ?????. ???? ? ???? ??? ???? ???? ???? ???? ??? ??? ??? ??? ? ??? ???. ??????? ??? ? ?? ?? ?????. ????? ??? ?? ????. ?????? ????? ??? ?? ???? ???? ????? ???? ??? ??????. ??? ??? ThinkPHP 3.2?? ?? ??? ??? ??? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)