夺命雷公狗TP3.2.3商城5-----管理员的列表页和分页

列表也其实也很简单,说白了直接在数据库取出数据,然后直接遍历到模版即可,首先来修改Admin控制器的add方法:

然后到add模板页里使用volist进行遍历:

然后测试下看看数据是否成功被取出:

然后回到控制器写他的分页:

<?php
namespace AdminController;
use ThinkController;
class AdminController extends Controller {
    public function lists(){
        $mod = M('admin');
            $totalRows = $mod->count();
            //创建分页对象时,分页对象需要总记录数和分页条数
            $page = new ThinkPage($totalRows,2);
            $page -> rollPage =3; //分页列表上显示多少条
            $page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%   %HEADER%');
            $page->setConfig('first','首页');
            $page->setConfig('prev','上一页');
            $page->setConfig('next','下一页');
            $page->setConfig('last','尾页');
            $pageHtml = $page -> show();//生成分页的连接诶效果(分页工具条的html代码)
            $this -> assign('pageHtml',$pageHtml);//分配分页栏到模版
            //2.查询出当前页面的列表数据
            $data = $mod ->order('id desc')->page(I('get.p',1),$page->listRows)->select();
            $this -> assign('data',$data);
            $this -> display();
    }

    public function add(){
        $mod = D("admin");
        if(IS_POST){
            $data['username'] = I('username');
            $data['password'] = I('pass');
            $data['passer'] = I('passer');
            if($data['password'] == $data['passer']){
                $data['password'] = md5($data['password']);
                if($mod->create($data)){
                    if($mod->add($data)){
                        $this -> success('管理员添加成功');
                    }else{
                        $this->error('管理员添加失败');
                    }
                }else{
                    $this->error($mod->getError());
                }
            }else{
                $this->error('确认密码错误');
            }
            return;//这里的return主要是为了防止跳转
        }
        $this -> display();
    }

    public function edit(){
        $this -> display();
    }

    public function del(){
        $this -> display();
    }
}

然后直接在模板页直接将分页遍历出来:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>后台管理</title>
    <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/common.css"/>
    <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/main.css"/>
    <script type="text/javascript" src="__PUBLIC__/Admin/js/libs/modernizr.min.js"></script>
</head>
<body>
<div class="topbar-wrap white">
    <div class="topbar-inner clearfix">
        <div class="topbar-logo-wrap clearfix">
            <h1 class="topbar-logo none"><a href="index.html" class="navbar-brand">后台管理</a></h1>
            <ul class="navbar-list clearfix">
                <li><a class="on" href="index.html">首页</a></li>
                <li><a href="#" target="_blank">网站首页</a></li>
            </ul>
        </div>
        <div class="top-info-wrap">
            <ul class="top-info-list clearfix">
                <li><a href="http://www.jscss.me">管理员</a></li>
                <li><a href="http://www.jscss.me">修改密码</a></li>
                <li><a href="http://www.jscss.me">退出</a></li>
            </ul>
        </div>
    </div>
</div>
<div class="container clearfix">
    <div class="sidebar-wrap">
        <div class="sidebar-title">
            <h1>菜单</h1>
        </div>
        <div class="sidebar-content">
            <ul class="sidebar-list">
                <li>
                    <a href="#"><i class="icon-font">&#xe003;</i>管理员管理</a>
                    <ul class="sub-menu">
                        <li><a href="__MODULE__/Admin/lists"><i class="icon-font">&#xe008;</i>管理员列表</a></li>
                        <li><a href="__MODULE__/Admin/add"><i class="icon-font">&#xe005;</i>添加管理员</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#"><i class="icon-font">&#xe003;</i>常用操作</a>
                    <ul class="sub-menu">
                        <li><a href="__MODULE__/Anli/index"><i class="icon-font">&#xe008;</i>作品管理</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe005;</i>博文管理</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe006;</i>分类管理</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe004;</i>留言管理</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe012;</i>评论管理</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe052;</i>友情链接</a></li>
                        <li><a href="design.html"><i class="icon-font">&#xe033;</i>广告管理</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#"><i class="icon-font">&#xe018;</i>系统管理</a>
                    <ul class="sub-menu">
                        <li><a href="system.html"><i class="icon-font">&#xe017;</i>系统设置</a></li>
                        <li><a href="system.html"><i class="icon-font">&#xe037;</i>清理缓存</a></li>
                        <li><a href="system.html"><i class="icon-font">&#xe046;</i>数据备份</a></li>
                        <li><a href="system.html"><i class="icon-font">&#xe045;</i>数据还原</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
    <!--/sidebar-->
    <div class="main-wrap">

        <div class="crumb-wrap">
            <div class="crumb-list"><i class="icon-font"></i><a href="__MODULE__/Index/index">首页</a><span class="crumb-step">&gt;</span><span class="crumb-name">管理员管理</span></div>
        </div>
        
        <div class="result-wrap">
            <form name="myform" id="myform" method="post">
                <div class="result-title">
                    <div class="result-list">
                        <a href="__MODULE__/admin/add"><i class="icon-font"></i>新增管理员</a>
                        <a id="batchDel" href="javascript:void(0)"><i class="icon-font"></i>批量删除</a>
                    </div>
                </div>
                <div class="result-content">
                    <table class="result-tab" width="100%">
                        <tr>
                            <th class="tc" width="5%"><input class="allChoose" name="" type="checkbox"></th>
                            <th>ID</th>
                            <th>标题</th>
                            <th>操作</th>
                        </tr>
                        <volist name="data" id="vo">
                        <tr>
                            <td class="tc"><input name="id[]" value="59" type="checkbox"></td>
                            <td>{$vo.id}</td>
                            <td title="">{$vo.username}</td>
                            <td>
                                <a class="link-update" href="__MODULE__/admin/edit/{$vo.id}">修改</a>
                                <a class="link-del" href="#">删除</a>
                            </td>
                        </tr>
                        </volist>
                    </table>
                    <div class="list-page">
                        {$pageHtml}
                     2 条 1/1 页</div>
                </div>
            </form>
        </div>
    </div>
    <!--/main-->
</div>
</body>
</html>

但是没办法发现了一个BUG,尾页没法显示,那么就想办法去解决掉他。。

我们来到在shopThinkPHPLibraryThinkPage.class.php  对她进行修改:

我们找到如下代码:

public function setConfig($name,$value) {
        if(isset($this->config[$name])) {
            $this->config[$name] = $value;
        }
    }   

我们将他修改成如下,BUG即可解决,TP3.2.3一直都有这BUG。。。。

public function setConfig($name,$value) {
        if(isset($this->config[$name])) {
            $this->config[$name] = $value;
            if($name == 'last'){
               $this->lastSuffix = false;
            }
        }
    }

这样他即可完美解决掉了,直接看效果:

原文地址:https://www.cnblogs.com/leigood/p/7248186.html