ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP 3.2 で現在のページのページネーションを設定する方法

ThinkPHP 3.2 で現在のページのページネーションを設定する方法

PHPz
PHPzオリジナル
2023-04-07 09:25:10584ブラウズ

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() メソッドを使用して、ブートストラップ スタイルのページング コードを生成できます。

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 で現在のページのページングを設定するには、次の 3 つの手順が必要です。

  1. コントローラーの各ページに表示されるデータの量を定義します。現在のページ番号を取得する;
  2. データの各ページの開始位置を計算し、ページング クエリに limit メソッドを使用する;
  3. ビュー ファイルにページング文字列を生成するページめくり操作

以上がこの記事の全内容です。ご参考になれば幸いです。ご質問やご提案がございましたら、コメント欄にメッセージを残してください。すぐに対応させていただきます。

以上がThinkPHP 3.2 で現在のページのページネーションを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。