ホームページ PHPフレームワーク ThinkPHP ThinkPHP6のページング機能の実装方法

ThinkPHP6のページング機能の実装方法

Jun 20, 2023 pm 09:15 PM
thinkphp 成し遂げる ページング機能

ThinkPHP は非常に人気のある PHP 開発フレームワークであり、その最新バージョンである ThinkPHP6 は、パフォーマンスと使いやすさの点で大幅に向上しています。ページング機能は Web 開発では非常に一般的な機能であり、ThinkPHP6 も非常に便利なページング方法を提供します。この記事では、ThinkPHP6のページング機能の実装方法を紹介します。

1. ページング機能を理解する

Web アプリケーションでは、データ セットが非常に大きい場合、すべての結果を 1 ページに表示するとページの読み込みが遅くなりすぎ、ページの読み込みが遅くなり、ユーザーがデータを表示および管理するのが不便になります。ページング機能とは、データセットを複数のページに分割し、各ページにデータの一部のみを表示する機能です。これにより、ページの読み込み時間を大幅に短縮できると同時に、ユーザーによるデータの閲覧と管理が容易になります。

2. ThinkPHP6 のページング機能を実装する

ThinkPHP6 は、ほんの数ステップで実装できる非常に便利なページング メソッドを提供します。

  1. ページネーション コンポーネントのインストール

ThinkPHP6 にはページネーション コンポーネントが用意されています。次のコードをcomposer.json ファイルに追加する必要があります:

"require": {
    "topthink/think-pagination": "^1.0"
}
ログイン後にコピー

次に、次のコードを使用します。コマンドcomposer updateコンポーネントをインストールします。

  1. コントローラーでのページングの使用

コントローラーでページングを使用する手順は次のとおりです。

最初に、レコードの合計数を取得します。データテーブル。次のコードを使用します。

$total = Db::name('user')->count();
ログイン後にコピー

このうち、Db は ThinkPHP6 のデータベース操作クラス、name('user') はユーザーテーブルのデータを取得すること、count() は総数を取得することを意味します。データの。

次に、各ページに表示されるレコード数と現在のページ番号を設定します。次のコードを使用します。

$pageSize = 10;   //每页显示10条记录
$pageNo = 1;      //默认显示第1页
if (!empty($_GET['page'])) {
    $pageNo = intval($_GET['page']);   //获取当前页码数
}
ログイン後にコピー

このうち、intval() 関数は、文字列を整数に変換するために使用されます。

次に、各ページに表示されるレコード数と現在のページ番号に基づいて、表示する必要があるレコード範囲を計算します。次のコードを使用します:

$offset = ($pageNo - 1) * $pageSize;
$rows = Db::name('user')->limit($offset, $pageSize)->select();
ログイン後にコピー

このうち、limit() メソッドはクエリ結果の範囲を制限するために使用されます。最初のパラメータはオフセットを表し、2 番目のパラメータは取得されるレコードの数を表します。

最後に、取得したレコードをビューに渡し、ページング表示のためのPaginationコンポーネントを呼び出します。次のコードを使用します:

$this->assign('rows', $rows);
$this->assign('total', $total);
$this->assign('pageSize', $pageSize);
$this->assign('pageNo', $pageNo);
return $this->fetch()->extend('pagination');
ログイン後にコピー

その中で、 assign() メソッドはテンプレートに変数を渡すために使用され、 fetch() メソッドはテンプレート ファイルを呼び出すために使用され、extend('pagination') は意味します。ページネーション表示に Pagination コンポーネントを使用します。

  1. ビューにページングを実装する

ビュー ファイルにページングを実装する手順は次のとおりです。

まず、ビュー ファイルにページング バーを表示します。ページの下。次のコードを使用します。

<div class="pagination">
    {$page->render()}
</div>
ログイン後にコピー

このうち、$page は Pagination インスタンスを表し、render() メソッドはページネーション HTML コードの生成に使用されます。

次に、ページングのスタイルを設定します。次のコードを使用します。

    hinkacadeView::getPager()->setConfig('prev', '上一页');
    hinkacadeView::getPager()->setConfig('next', '下一页');
    hinkacadeView::getPager()->setConfig('theme', '%totalRow% %header% %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%');
ログイン後にコピー

その中で、setConfig() メソッドはページング スタイルを設定するために使用されます。 %totalRow% は表示されるレコードの合計数を表し、%header% は現在のページ番号を表し、%upPage% は前のページを表し、%downPage% は次のページを表し、%first% は最初のページを表し、%prePage% は前のページを表します。ページ番号、% linkPage% は現在のページ番号グループを表し、%nextPage% は次のページ番号グループを表し、%end% は最後のページを表します。

注: ページング スタイルを設定する前に、use thinkPaginator; 名前空間を呼び出す必要があります。

  1. 完全なコード例

以下は、ThinkPHP6:

use thinkDb;
use thinkPaginator;

class UserController extends Controller
{
    public function index()
    {
        $total = Db::name('user')->count();
        $pageSize = 10;   //每页显示10条记录
        $pageNo = 1;      //默认显示第1页
        if (!empty($_GET['page'])) {
            $pageNo = intval($_GET['page']);   //获取当前页码数
        }
        $offset = ($pageNo - 1) * $pageSize;
        $rows = Db::name('user')->limit($offset, $pageSize)->select();
        $this->assign('rows', $rows);
        $this->assign('total', $total);
        $this->assign('pageSize', $pageSize);
        $this->assign('pageNo', $pageNo);
        Paginator::useBootstrap();
        Paginator::currentPageResolver(function () use ($pageNo) {
            return $pageNo;
        });
        Paginator::pagination($total, $pageSize, $pageNo);
            hinkacadeView::getPager()->setConfig('prev', '上一页');
            hinkacadeView::getPager()->setConfig('next', '下一页');
            hinkacadeView::getPager()->setConfig('theme', '%totalRow% %header% %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%');
        return $this->fetch()->extend('pagination');
    }
}
ログイン後にコピー

3 のページング機能を実装するための完全なコード例です。 ##合格 上記の手順で、ThinkPHP6 のページング機能の実装に成功しました。この記事での紹介を通じて、読者は自分の Web サイトにページング機能を簡単に追加し、Web サイトのユーザー エクスペリエンスを向上させることができると思います。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?ソーシャルメディアの台頭により、WeChatは人々の日常生活に欠かせないコミュニケーションツールの1つになりました。ただし、多くの人は、同じ携帯電話で同時に複数の WeChat アカウントにログインするという問題に遭遇する可能性があります。 Huawei 社の携帯電話ユーザーにとって、WeChat の二重ログインを実現することは難しくありませんが、この記事では Huawei 社の携帯電話で WeChat の二重ログインを実現する方法を紹介します。まず第一に、ファーウェイの携帯電話に付属するEMUIシステムは、デュアルアプリケーションを開くという非常に便利な機能を提供します。アプリケーションのデュアルオープン機能により、ユーザーは同時に

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

PHP プログラミング ガイド: フィボナッチ数列を実装する方法 PHP プログラミング ガイド: フィボナッチ数列を実装する方法 Mar 20, 2024 pm 04:54 PM

プログラミング言語 PHP は、さまざまなプログラミング ロジックやアルゴリズムをサポートできる、Web 開発用の強力なツールです。その中でも、フィボナッチ数列の実装は、一般的で古典的なプログラミングの問題です。この記事では、PHP プログラミング言語を使用してフィボナッチ数列を実装する方法を、具体的なコード例を添付して紹介します。フィボナッチ数列は、次のように定義される数学的数列です。数列の最初と 2 番目の要素は 1 で、3 番目の要素以降、各要素の値は前の 2 つの要素の合計に等しくなります。シーケンスの最初のいくつかの要素

Huawei携帯電話にWeChatクローン機能を実装する方法 Huawei携帯電話にWeChatクローン機能を実装する方法 Mar 24, 2024 pm 06:03 PM

Huawei 携帯電話に WeChat クローン機能を実装する方法 ソーシャル ソフトウェアの人気と人々のプライバシーとセキュリティの重視に伴い、WeChat クローン機能は徐々に人々の注目を集めるようになりました。 WeChat クローン機能を使用すると、ユーザーは同じ携帯電話で複数の WeChat アカウントに同時にログインできるため、管理と使用が容易になります。 Huawei携帯電話にWeChatクローン機能を実装するのは難しくなく、次の手順に従うだけです。ステップ 1: 携帯電話システムのバージョンと WeChat のバージョンが要件を満たしていることを確認する まず、Huawei 携帯電話システムのバージョンと WeChat アプリが最新バージョンに更新されていることを確認します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

See all articles