thinkPHP フレームワーク を使用してプロジェクトを実行する場合、リストのコンテンツのページングが頻繁に発生することはわかっています。 thinkPHP フレームワークには ページング関数 が付属しているためです。しかし、データがリストに返されるたびに欠陥があります。ページに必要な JS、CSS、その他のリソースを毎回リロードする必要があるため、トラフィックの負荷が大幅に増加します。今日は、ページを繰り返しロードせずにリスト ページングに戻る機能を実現する方法を説明します。
2. ページングプロセス
プロセスの説明:
1) App.php 内の fetch 関数を呼び出す関数を調べます。 fetch 関数は list.html をレンダリングします。
2) list.html は総ページ数を取得する関数を呼び出し、総ページ数を取得します。
3) データの最初のページを取得します。
4) レイページ ページング プラグインを初期化します。
5) ページ番号をクリックしてページング クエリをトリガーします。
3. ページング関数の実装に関連するコード
1. App.php コントローラーのコード
//fetch渲染页面 public function index() { return $this->fetch('list'); } //根据页面传入的页码查询数据 public function getPage() { <span style="color:#FF0000;">// 获取页面传入的页码 </span> $nowpage = input("page"); //每页显示10条数据 $limits = 10; $app = new appInfo(); $page_info = $app->limit(($nowpage * $limits), $limits)->select(); // ajax 分页输出 $info = ['pageinfo'=>$page_info,'nowpage'=>$nowpage,'nowpage'=>$nowpage]; return json($info); } //获取所有页数 public function getAllPage(){ try{ $count = appInfo::count(); $limits = 10; // 计算总页面 $allpage = ceil($count / $limits); $info =['allpage'=>$allpage]; }catch (\Exception $e){ abort(500,$e->getMessage(),['result'=>TopsecGWErrer::TOPSEC_GW_ERR_NO_UNKNOWN]); } return json($info); }
3.
<div class="box-body"> <table id="table1" class="table table-bordered table-striped"> <thead> <tr> <th>应用名称</th> <th>应用类型</th> <th>应用图像</th> <th>创建日期</th> <th>修改日期</th> <th>操作</th> </tr> </thead> <tbody id="table_body"></tbody> <tfoot> </tfoot> </table> <div id="result"></div> <div class=" "> <button id="add_app" type="button" class="btn btn-primary col-xs-offset-5" > <span class='fa fa-tasks white'></span>丨添加应用 </button> </div> <div id="content"> </div> <div class="box-body"> <button id="add_img" type="button" class="btn btn-primary col-xs-offset-5" > <span class='fa fa-tasks white'></span>丨添加图片 </button> </div> <!-- /.box-body --> </div>
これらの事例を読んだ後は、この方法を習得したと思います。さらに興味深い内容については、php 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:
phpはgitデプロイメント環境を使用します
以上がPHPを使用したリストページング機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。