• 夺命雷公狗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;
                }
            }
        }

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

  • 相关阅读:
    delphi TMemoryStream读取html文件中文乱码
    tfrxbarcode2dview 和 tfrxbarcode not found 解决办法
    delphi ForceDirectories 用法
    Java Scanner next() 与 nextLine() 区别
    delphi 用superobject解析json
    delphi 方法可以提前声明
    delphi 判断文件是否被占用
    mysql explain用法和结果的含义
    C# SpinWait
    js异步编程
  • 原文地址:https://www.cnblogs.com/leigood/p/7248186.html
Copyright © 2020-2023  润新知