ホームページ  >  記事  >  バックエンド開発  >  ThinkPhp3.2 でのページングのサンプル コード共有

ThinkPhp3.2 でのページングのサンプル コード共有

黄舟
黄舟オリジナル
2017-07-27 15:06:431229ブラウズ

TP3.2 を使用してページネーションを記述するためのマニュアルは非常に理解しにくいため、インターネットで情報を探しました。これから整理していきます。

Page.class.php があります。

I am this の下のクラス 以下は function.php (クラスとみなされますが、そうではありません)

目的: 他の場所からの呼び出しを容易にするため

ソースコードを見てください。 function.php のコードは次のとおりです:

<?php
/**
 * TODO 基础分页的相同代码封装,使前台的代码更少
 * @param $count 要分页的总记录数
 * @param int $pagesize 每页查询条数
 * @return \Think\Page
 */
function getpage($count, $pagesize = 10) {
    $p = new Think\Page($count, $pagesize);
    $p->setConfig(&#39;header&#39;, &#39;<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>&#39;);
    $p->setConfig(&#39;prev&#39;, &#39;上一页&#39;);
    $p->setConfig(&#39;next&#39;, &#39;下一页&#39;);
    $p->setConfig(&#39;last&#39;, &#39;末页&#39;);
    $p->setConfig(&#39;first&#39;, &#39;首页&#39;);
    $p->setConfig(&#39;theme&#39;, &#39;%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%&#39;);
    $p->lastSuffix = false;//最后一页不显示为总页数
    return $p;
}
?>

それをコントロールウールクロスで使用するにはどうすればよいですか? :

public function fy() {
        $m = M(&#39;article&#39;);
        $where = "a_id>10";
        $count = $m->where($where)->count();
        $p = getpage($count,10);//每页显示几条
        $list = $m->field(true)->where($where)->order(&#39;a_id&#39;)->limit($p->firstRow, $p->listRows)->select();
        $this->assign(&#39;select&#39;, $list); // 赋值数据集
        $this->assign(&#39;page&#39;, $p->show()); // 赋值分页输出
        $this->display(&#39;Ws:public/fy&#39;);
    }

もう一度フロントエンドページを見てみましょう:

 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>信息输出</title>

    </head><style>
    .pages a,.pages span {
    display:inline-block;
    padding:2px 5px;
    margin:0 1px;
    border:1px solid #f0f0f0;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    border-radius:3px;}.pages a,.pages li {
    display:inline-block;
    list-style: none;
    text-decoration:none; color: black;}.pages a.first,.pages a.prev,.pages a.next,.pages a.end{
    margin:0;}.pages a:hover{
    border-color:crimson;}.pages span.current{
    background:#50A8E6;
   color: black;
    font-weight:700;
    border-color:#50A8E6;}
    </style>
    <body>
        <table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
           
          
            <tr class="title">
                <td bgcolor="#FFFFFF" width="44">编号</td>
                <td bgcolor="#FFFFFF" width="120">标题</td>
                <td bgcolor="#FFFFFF" width="223">描述</td>
            </tr>
            <foreach name=&#39;select&#39; item=&#39;user&#39; >
                <tr class="content">
                    <td bgcolor="#FFFFFF"> {$user.a_id}</td>
                    <td bgcolor="#FFFFFF"> {$user.a_title}</td>
                    <td bgcolor="#FFFFFF"> {$user.a_remark}</td>
                </tr>
            </foreach>
            <tr class="content">
                <!--<td colspan="3" bgcolor="#FFFFFF"> {$page}</td>-->
                <td colspan="3" bgcolor="#FFFFFF"><p class="pages">
                        {$page}                </p></td>  
            </tr>
        </table>
    </body>

以上がThinkPhp3.2 でのページングのサンプル コード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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