ThinkPHP でページジャンプを実行する方法

PHPz
リリース: 2023-04-13 09:52:34
オリジナル
660 人が閲覧しました

ThinkPHP は優れた PHP 開発フレームワークで、ページングなどの便利で高速な開発方法を多数提供します。 Web開発においてページングは​​、大量のデータを複数のページに分割して表示するための非常に重要な機能の一つです。ただし、ページング中に指定したページにジャンプする必要がある場合があるため、この記事では ThinkPHP でページングジャンプを実行する方法を紹介します。

1. ThinkPHP ページングの基本的な使用法

ThinkPHP では、ページングの使用は非常に簡単で、ページング クラスを使用するだけです。ページング クラスは、次の基本的な使用方法を提供します。

  1. ページング クラスのインスタンス化
$p = new \think\Paginator(100, 10);
ログイン後にコピー

最初のパラメーターはレコードの合計数で、2 番目のパラメーターはレコードの数です。ページごとに表示されるレコードの数。

  1. ページング データの取得
$list = $p->getPageData();
ログイン後にコピー

getPageData メソッドは、指定されたページ番号のデータを返します。

  1. ページング リンクのレンダリング
echo $p->render();
ログイン後にコピー

render メソッドは、ページング リンクのレンダリングに使用される HTML 文字列を返します。

上記は ThinkPHP ページングを使用する基本的な方法であり、非常に便利で高速です。ただし、ページングジャンプ機能を実装する必要がある場合がありますので、具体的な実装方法を以下に紹介します。

2. ThinkPHP ページング ジャンプ

ページング ジャンプを実装する前に、ThinkPHP ページング リンクの形式を理解する必要があります。デフォルトのページング スタイルを使用すると仮定すると、表示されるリンク形式は次のようになります。

http://localhost/index.php/index/index?page=2
ログイン後にコピー

このうち、page パラメーターは現在のページ番号を表します。ここで、ページング ジャンプ機能を実装するには、ページング リンクにジャンプ先のページ番号パラメーターを追加する必要があります。

  1. ページング クラスを変更する

ThinkPHP のページング クラス Paginator には、ページング リンクを生成するための makeUrl メソッドがあります。以下に示すように、このメソッドにターゲット ページ番号パラメーターを追加できます。

protected function makeUrl($page)
{
    $url = str_replace('[PAGE]', $page, $this->urlTpl);
    return $url . '&target=' . $this->targetPage; // 添加跳转目标页码参数
}
ログイン後にコピー
  1. ターゲット ページ番号を取得する

コントローラーでターゲット ページ番号を取得し、割り当てます。値を指定します。ページング クラスの targetPage 属性を指定します。ターゲットのページ番号は GET、POST、またはその他のメソッドから取得できます。ここでは GET メソッドを例に挙げます:

$page = input('page/d', 1); // 获取当前页码
$targetPage = input('target/d', $page); // 获取目标页码,默认为当前页码
$p = new \think\Paginator(100, 10);
$p->targetPage = $targetPage; // 将目标页码赋值给分页类
$list = $p->getPageData();
echo $p->render();
ログイン後にコピー

上記のコードでは、input 関数を使用して GET パラメーターを取得します。パラメータを整数に変換します。 $page は現在のページ番号を表し、$targetPage はターゲットのページ番号を表します。デフォルトは現在のページ番号です。ターゲット ページ番号をページング クラスの targetPage 属性に割り当てます。ページング クラスは、リンクをレンダリングするときに、この属性値をジャンプ ターゲット ページ番号パラメーターとして使用します。

これで、ThinkPHP でのページングジャンプの機能が完成しました。ユーザーがページングリンクをクリックすると、ターゲットページ番号パラメータが次のページのリンクに移動し、ページングジャンプ機能が実現されます。

3. 概要

ThinkPHP は、非常に簡単に使用できる便利で高速なページング クラスを提供しますが、シナリオによってはページング ジャンプ関数を実装する必要があります。この記事では、ThinkPHP でページングジャンプを実装する具体的な方法を紹介しますので、皆様の参考になれば幸いです。

以上がThinkPHP でページジャンプを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!