您好,登錄后才能下訂單哦!
這篇文章主要講解了“ThinkPHP3.2中如何設(shè)置當(dāng)前頁分頁”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ThinkPHP3.2中如何設(shè)置當(dāng)前頁分頁”吧!
首先,需要在控制器中定義每頁顯示的數(shù)據(jù)量(默認(rèn)是 20 條),以及獲取當(dāng)前頁碼??梢酝ㄟ^ I('p',1)
來獲取當(dāng)前頁碼,如果沒有傳遞參數(shù),則默認(rèn)為第 1 頁。
public function getList(){
$page_size = 10; // 每頁顯示10條數(shù)據(jù)
$p = I('p',1); // 獲取當(dāng)前頁碼
//TODO: ...
}
然后,需要計(jì)算出每頁數(shù)據(jù)的起始位置,以便在數(shù)據(jù)庫中進(jìn)行分頁查詢。假設(shè)查詢表 user
中的數(shù)據(jù),可以使用 ThinkPHP 提供的 limit
方法進(jìn)行分頁。
public function getList(){
$page_size = 10; // 每頁顯示10條數(shù)據(jù)
$p = I('p',1); // 獲取當(dāng)前頁碼
$user = M('User');
$offset = ($p-1)*$page_size; // 計(jì)算當(dāng)前頁數(shù)據(jù)的起始位置
$list = $user->limit($offset.','.$page_size)->select();// 按分頁查找數(shù)據(jù)
}
在以上代碼中,計(jì)算數(shù)據(jù)起始位置時(shí)使用 $offset = ($p-1)*$page_size;
,然后使用 limit()
方法進(jìn)行分頁查詢。
最后,需要在視圖文件中渲染分頁代碼,讓用戶可以方便地進(jìn)行翻頁??梢允褂?ThinkPHP 提供的 page()
方法生成 Bootstrap 樣式的分頁代碼。
public function getList(){
$page_size = 10; // 每頁顯示10條數(shù)據(jù)
$p = I('p',1); // 獲取當(dāng)前頁碼
$user = M('User');
$offset = ($p-1)*$page_size; // 計(jì)算當(dāng)前頁數(shù)據(jù)的起始位置
$list = $user->limit($offset.','.$page_size)->select();// 按分頁查找數(shù)據(jù)
$count = $user->count(); // 獲取數(shù)據(jù)總數(shù)
$Page = new \Think\Page($count,$page_size); // 實(shí)例化分頁類
$show = $Page->show(); // 分頁顯示輸出
$this->assign('list',$list);
$this->assign('page',$show); // 分配分頁代碼到視圖
$this->display();
}
以上代碼中,使用 $count = $user->count();
獲取數(shù)據(jù)總數(shù),然后使用 new \Think\Page($count,$page_size);
實(shí)例化分頁類,傳入總數(shù)和每頁數(shù)據(jù)量,最后使用 $Page->show();
來生成分頁展示字符串。然后將分頁字符串傳遞給視圖文件,使用 $this->assign('page',$show);
分配變量即可。
感謝各位的閱讀,以上就是“ThinkPHP3.2中如何設(shè)置當(dāng)前頁分頁”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)ThinkPHP3.2中如何設(shè)置當(dāng)前頁分頁這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。