首页  >  文章  >  后端开发  >  ThinkPhp3.2中写分页的示例代码分享

ThinkPhp3.2中写分页的示例代码分享

黄舟
黄舟原创
2017-07-27 15:06:431242浏览

用TP3.2写分页 手册上说的好难懂,我自己去网上找资料 ,现在整理一下,以后可能会用;

在Think下面有Page.class.php类;

我在这个下面放了一个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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn