thinkphp如何實(shí)現(xiàn)分頁(yè)顯示

thinkphp 是一個(gè)基于 php 的開(kāi)源框架,被廣泛應(yīng)用于 web 開(kāi)發(fā)中。在實(shí)際開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)用到分頁(yè)功能。本文將介紹如何在 thinkphp 中使用分頁(yè)功能。

思路與步驟:

ThinkPHP 默認(rèn)使用的是 bootstrap 樣式,分頁(yè)功能通過(guò) TP 中的 paginate 方法實(shí)現(xiàn)。paginate 方法繼承分頁(yè)類(lèi) TPpaginate,并返回分頁(yè)字符串,分頁(yè)字符串包括分頁(yè)導(dǎo)航、分頁(yè)結(jié)果等信息。以下是分頁(yè)的具體實(shí)現(xiàn)步驟:

步驟一:安裝 TP 擴(kuò)展類(lèi)(TP 自帶分頁(yè)類(lèi))。

composer require topthink/think-pagination

步驟二:在控制器中設(shè)置分頁(yè)參數(shù)。

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

$page = input('page') ?: 1;  //獲取頁(yè)碼數(shù),默認(rèn)為第一頁(yè) $limit = 10;  //每頁(yè)顯示記錄數(shù) $start = ($page - 1) * $limit;   //起始記錄索引,例如:第一頁(yè) $start=0,第二頁(yè) $start=10...  $list = Db::name('user')->limit($start, $limit)->select(); $count = Db::name('user')->count();  // 獲取總記錄數(shù)  $this->assign([     'list' => $list,     'count' => $count,     'limit' => $limit ]);

步驟三:在視圖文件中顯示分頁(yè)信息。

通過(guò) paginate() 方法獲取分頁(yè)信息,返回的是一個(gè)字符串,表現(xiàn)形式是一個(gè)帶有上一頁(yè)、下一頁(yè)等按鈕的分頁(yè)器。我們?cè)谝晥D文件中將返回的字串直接打印出來(lái)即可顯示分頁(yè)內(nèi)容。

// 分頁(yè) echo $list->render();

具體代碼及實(shí)例:

控制器代碼示例:

public function index() {     $page = input('page') ?: 1;  //獲取頁(yè)碼數(shù),默認(rèn)為第一頁(yè)     $limit = 10;  //每頁(yè)顯示記錄數(shù)     $start = ($page - 1) * $limit;       //起始記錄索引,例如:第一頁(yè) $start=0,第二頁(yè) $start=10...      $list = Db::name('user')->limit($start, $limit)->select();     $count = Db::name('user')->count();  // 獲取總記錄數(shù)      $this->assign([         'list' => $list,         'count' => $count,         'limit' => $limit     ]);      return $this->fetch(); }

視圖代碼示例:

// 渲染表格                                         // 分頁(yè) echo $list->render();

以上代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的分頁(yè)功能,通過(guò) TP 的 paginate 方法可以很方便地實(shí)現(xiàn)分頁(yè)功能。相信在您的實(shí)際開(kāi)發(fā)中也能夠運(yùn)用得游刃有余。

總結(jié):

在 TP 中實(shí)現(xiàn)分頁(yè)功能需要多個(gè)步驟,并需要結(jié)合實(shí)際開(kāi)發(fā)需要不斷調(diào)整。但總體來(lái)說(shuō),調(diào)用 TP 自帶的 paginate 方法相對(duì)簡(jiǎn)單,且在性能和可讀性方面都具有可觀的優(yōu)勢(shì),在您的實(shí)際開(kāi)發(fā)中也不妨嘗試使用後認(rèn)證其優(yōu)異性。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享