Thinkphp封装P方法。实现分页效果

来源:互联网 发布:二维动漫制作软件 编辑:程序博客网 时间:2024/06/07 18:54

Thinkphp封装P方法。实现分页效果

Xiangmu[应用级别]/Common/Common/function.php

  • 如果没有创建function.php文件 ,请自行创建

在应用函数里直接加入:

<?php/* * %FIRST% 首页 * %UP_PAGE% 上一页 * %LINK_PAGE% 分页列表 * %DOWN_PAGE% 下一页 * %END% 尾页 * %TOTAL_ROW% 总条数 * %TOTAL_PAGE% 总页数 * %NOW_PAGE% 当前页 * $count 总条数 * $page 第几页 * $map 搜索参数 */    function P($count, $page, $map) {    $Page = new \Think\Page($count, $page);    $Page -> setConfig('header', '<span style="float: right;">当前第:%NOW_PAGE%页 共:%TOTAL_ROW%条 %TOTAL_PAGE%页 </span>');    $Page -> setConfig('prev', '上一页');    $Page -> setConfig('next', '下一页');    $Page -> setConfig('first', '首页');    $Page -> setConfig('last', '尾页');    $Page -> setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');    $Page -> rollPage = 9;    $Page -> lastSuffix = false;    foreach ($map as $key => $val) {        $Page -> parameter[$key] = urlencode($val);    }    return $Page -> show();}

调用方法

文件位置:Xiangmu[应用级别]/Admin[分级别]/Controller/XxxController.class.php

public function index() {        $p = I('get.p','1','int');        $map['ab_content'] = array('eq','999');        $count = M('aboutus') ->where($map) -> count();        $data = M('aboutus') ->where($map) -> page($p ,$page = '5') -> select();        $page = P($count, $page, $map);        $this -> assign('page', $page);            $this -> assign('list', $data);        $this -> display();    }

HTML+CSS代码

文件目录;View

        <div class="panel panel-default">            <div class="panel-bd">                <!-- 分页效果 -->                <style type="text/css">                    .current{                        display: inline-block;                        padding: 4px 12px;                        margin: 0 2px;                        color: white;                        background-color: #4bcf99;                        border: 1px solid #4bcf99;                        vertical-align: middle;                    }                    .num{                        color: #3d3d3d;                        display: inline-block;                        padding: 4px 12px;                        border: 1px solid #ededed;                        margin: 0 2px;                        vertical-align: middle;                    }                    .prev{                        color: #3d3d3d;                        display: inline-block;                        padding: 4px 12px;                        border: 1px solid #ededed;                        margin: 0 2px;                        vertical-align: middle;                    }                    .next{                        color: #3d3d3d;                        display: inline-block;                        padding: 4px 12px;                        border: 1px solid #ededed;                        margin: 0 2px;                        vertical-align: middle;                    }                    .end{                        color: #3d3d3d;                        display: inline-block;                        padding: 4px 12px;                        border: 1px solid #ededed;                        margin: 0 2px;                        vertical-align: middle;                    }                    .first{                        color: #3d3d3d;                        display: inline-block;                        padding: 4px 12px;                        border: 1px solid #ededed;                        margin: 0 2px;                        vertical-align: middle;                    }                </style>                {$page}            </div>        </div>