thinkphpでページング表示を実装する方法

PHPz
リリース: 2023-04-11 11:30:41
オリジナル
1040 人が閲覧しました

ThinkPHP は、PHP をベースにしたオープン ソース フレームワークで、Web 開発で広く使用されています。実際の開発ではページング機能がよく使われます。この記事では、ThinkPHP のページング機能の使い方を紹介します。

アイデアと手順:

ThinkPHP はデフォルトで Bootstrap スタイルを使用し、ページング機能は TP の paginate メソッドを通じて実装されます。 paginate メソッドは、ページング クラス TP\paginate を継承し、ページング文字列を返します。ページング文字列には、ページング ナビゲーション、ページング結果、その他の情報が含まれます。ページングの具体的な実装手順は次のとおりです。

ステップ 1: TP 拡張クラスをインストールします (TP にはページング クラスが付属しています)。

composer require topthink/think-pagination
ログイン後にコピー

ステップ 2: コントローラーでページング パラメーターを設定します。

$page = input('page') ?: 1;  //获取页码数,默认为第一页
$limit = 10;  //每页显示记录数
$start = ($page - 1) * $limit;  
//起始记录索引,例如:第一页 $start=0,第二页 $start=10...

$list = Db::name('user')->limit($start, $limit)->select();
$count = Db::name('user')->count();  // 获取总记录数

$this->assign([
    'list' => $list,
    'count' => $count,
    'limit' => $limit
]);
ログイン後にコピー

ステップ 3: ビュー ファイルにページング情報を表示します。

paginate() メソッドを通じてページネーション情報を取得します。このメソッドは、前ページ、次ページなどのボタンを含むページネータの形式で文字列を返します。返された文字列をビュー ファイルに直接出力して、ページングのコンテンツを表示します。

// 分页
echo $list->render();
ログイン後にコピー

具体的なコードと例:

コントローラー コードの例:

public function index()
{
    $page = input('page') ?: 1;  //获取页码数,默认为第一页
    $limit = 10;  //每页显示记录数
    $start = ($page - 1) * $limit;  
    //起始记录索引,例如:第一页 $start=0,第二页 $start=10...

    $list = Db::name('user')->limit($start, $limit)->select();
    $count = Db::name('user')->count();  // 获取总记录数

    $this->assign([
        'list' => $list,
        'count' => $count,
        'limit' => $limit
    ]);

    return $this->fetch();
}
ログイン後にコピー

コードの例を見る:

// 渲染表格

    
        
        
        
    


// 分页
echo $list->render();
ログイン後にコピー

上記のコードは、単純なページング関数を実装しています。ページング機能はTPのpaginateメソッドにより簡単に実現できます。実際の開発でも安心して使えると思います。

概要:

TP でのページング機能の実装には複数の手順が必要で、実際の開発ニーズに基づいて継続的に調整する必要があります。ただし、一般的に、TP に付属する paginate メソッドの呼び出しは比較的簡単で、パフォーマンスや可読性の点で大きな利点があるため、実際の開発で試してその優秀さを検証することもできます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート