ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP 3.2 で現在のページのページネーションを設定する方法
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 つの手順が必要です。
limit
メソッドを使用する; 以上がこの記事の全内容です。ご参考になれば幸いです。ご質問やご提案がございましたら、コメント欄にメッセージを残してください。すぐに対応させていただきます。
以上がThinkPHP 3.2 で現在のページのページネーションを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。