首頁  >  文章  >  php框架  >  如何在 ThinkPHP 3.2 中設定目前頁分頁

如何在 ThinkPHP 3.2 中設定目前頁分頁

PHPz
PHPz原創
2023-04-07 09:25:10526瀏覽

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 中設定目前頁分頁需要以下三個步驟:

  1. 在控制器中定義每頁顯示的資料量,以及取得目前頁碼;
  2. 計算每頁資料的起始位置,使用limit 方法進行分頁查詢;
  3. 在視圖檔案中生成分頁字串並輸出,方便使用者進行翻頁操作。

以上是本文的全部內容,希望對你有幫助。如果有任何問題或建議,請在評論區留言,我會及時回覆。

以上是如何在 ThinkPHP 3.2 中設定目前頁分頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn