thinkphp ページングは paginate() メソッドを使用すると非常に便利ですが、フロント ページに出力する前にクエリ情報をさらに処理する必要がある場合は、それぞれのメソッドを使用する必要があります。 () メソッドを使用して、クエリから取得した結果に対してトラバーサル操作を実行します。
public function faculty() { //查询院系专业信息 //--查询院系专业信息 $result=Db::name('sys_faculty')->field('*')->paginate(10,false,[ 'query'=>['user'=>'123','role'=>'student'] ])->each(function($item, $key){ //在这里对查询的值进行进一步的整理!!! $f_faculty=Db::name('sys_faculty')->field('name')->where('id',$item['parentid'])->find(); $item['faculty']=$f_faculty['name']; //如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值 return $item; }); $this->assign(['result' => $result]); return $this->fetch(); }
ページングを直接出力すると、スタイルがなく、不規則になり、見苦しくなります。
単純なスタイルを通じて出力効果を向上させることができます:
<style> .page_li{ } .page_li li{ display:inline-block; padding:0px 10px; } .page_li li a{ display:inline-block; padding:0px 4px; color:#0088CC; font-size:small; } .page_li li.active{ color:red; font-size:large; } </style>
効果は次のとおりです:
オンラインで誰かが共有する別のスタイル:
<style> /*分页*/ .pagination {} .pagination li { display: inline-block; margin-right: -1px; padding: 5px; border: 1px solid #e2e2e2; min-width: 20px; text-align: center; } .pagination li.active { background: #009688; color: #fff; border: 1px solid #009688; } .pagination li a { display: block; text-align: center; } </style>
その効果は次のとおりです:
さまざまなスタイルを使用して自由に記述し、調整できます。
もちろん、クエリ内に条件を満たすレコードがいくつあるかなど、表示したいコンテンツを追加することもできます。
もちろん、リファクタリングや作成も可能です。新しいページング スタイル クラス
これと同様に、これを実現する方法です。
もちろん、より遅延的な方法を使用して、このファイル内で直接変更することもできます。
以下では、参照用にレコードの総数を単純に追加します。
その後、ページング後にそのような統計が追加されます:
この記事は、ThinkPHP フレームワークの技術記事列からのものです: http:/ /www.php.cn/phpkj/thinkphp/
以上がthinkphp でページングを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。