ThinkPHP 3.2 是一款強大的開源 PHP 框架,在開發過程中,分頁功能是常用來的。本文將重點放在如何在 ThinkPHP 3.2 中設定目前頁分頁。
首先,需要在控制器中定義每頁顯示的資料量(預設為 20 條),以及取得目前頁碼。可以透過 I('p',1)
來取得目前頁碼,如果沒有傳遞參數,則預設為第 1 頁。
public function getList(){ $page_size = 10; // 每页显示10条数据 $p = I('p',1); // 获取当前页码 //TODO: ... }
然後,需要計算出每頁資料的起始位置,以便在資料庫中進行分頁查詢。假設查詢表 user
中的數據,可以使用 ThinkPHP 提供的 limit
方法進行分頁。
public function getList(){ $page_size = 10; // 每页显示10条数据 $p = I('p',1); // 获取当前页码 $user = M('User'); $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置 $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据 }
在上述程式碼中,計算資料起始位置時使用$offset = ($p-1)*$page_size;
,然後使用limit()
方法進行分頁查詢。
最後,需要在視圖檔案中渲染分頁程式碼,讓使用者可以輕鬆地進行翻頁。可以使用 ThinkPHP 提供的 page()
方法來產生 Bootstrap 樣式的分頁程式碼。
public function getList(){ $page_size = 10; // 每页显示10条数据 $p = I('p',1); // 获取当前页码 $user = M('User'); $offset = ($p-1)*$page_size; // 计算当前页数据的起始位置 $list = $user->limit($offset.','.$page_size)->select();// 按分页查找数据 $count = $user->count(); // 获取数据总数 $Page = new \Think\Page($count,$page_size); // 实例化分页类 $show = $Page->show(); // 分页显示输出 $this->assign('list',$list); $this->assign('page',$show); // 分配分页代码到视图 $this->display(); }
以上程式碼中,使用$count = $user->count();
取得資料總數,然後使用new \Think\Page($count,$page_size );
實例化分頁類,傳入總數和每頁資料量,最後使用$Page->show();
來生成分頁展示字串。然後將分頁字串傳遞給視圖文件,使用 $this->assign('page',$show);
指派變數即可。
總結
ThinkPHP 3.2 中設定目前頁分頁需要以下三個步驟:
limit
方法進行分頁查詢;以上是本文的全部內容,希望對你有幫助。如果有任何問題或建議,請在評論區留言,我會及時回覆。
以上是如何在 ThinkPHP 3.2 中設定目前頁分頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!