列表也其实也很简单,说白了直接在数据库取出数据,然后直接遍历到模版即可,首先来修改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"></i>管理员管理</a> <ul class="sub-menu"> <li><a href="__MODULE__/Admin/lists"><i class="icon-font"></i>管理员列表</a></li> <li><a href="__MODULE__/Admin/add"><i class="icon-font"></i>添加管理员</a></li> </ul> </li> <li> <a href="#"><i class="icon-font"></i>常用操作</a> <ul class="sub-menu"> <li><a href="__MODULE__/Anli/index"><i class="icon-font"></i>作品管理</a></li> <li><a href="design.html"><i class="icon-font"></i>博文管理</a></li> <li><a href="design.html"><i class="icon-font"></i>分类管理</a></li> <li><a href="design.html"><i class="icon-font"></i>留言管理</a></li> <li><a href="design.html"><i class="icon-font"></i>评论管理</a></li> <li><a href="design.html"><i class="icon-font"></i>友情链接</a></li> <li><a href="design.html"><i class="icon-font"></i>广告管理</a></li> </ul> </li> <li> <a href="#"><i class="icon-font"></i>系统管理</a> <ul class="sub-menu"> <li><a href="system.html"><i class="icon-font"></i>系统设置</a></li> <li><a href="system.html"><i class="icon-font"></i>清理缓存</a></li> <li><a href="system.html"><i class="icon-font"></i>数据备份</a></li> <li><a href="system.html"><i class="icon-font"></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">></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; } } }
这样他即可完美解决掉了,直接看效果: