tp3.2管理员增删改查(一)
1、建立数据库,管理员数据表。表结构如下图所示

2、thinkPHP连接数据库。

在项目目录/thinkphp/Conf目录对应位置,连接数据库
/* 数据库设置 */ //数据库配置 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'qiye', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PORT' => '3306', // 端口 'DB_PREFIX' => 'qy_', // 数据库表前缀
3、页面列表控制器(查)
新建AdminController.class.php,在控制下新建lists方法。
<?php namespace Admin\Controller; use Think\Controller; class AdminController extends Controller { public function lists() { $admin = D('admin'); $where = 1; if ($kw = I('kw')) { $where .= ' AND username LIKE "%' . $kw . '%"'; } $count = $admin->where($where)->count();// 查询满足要求的总记录数 $Page = new \Think\Page($count, 3);// 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show();// 分页显示输出 $list = $admin->where($where)->limit($Page->firstRow . ',' . $Page->listRows)->order('id asc')->select(); $this->assign('list', $list);// 赋值数据集 $this->assign('page', $show);// 赋值分页输出 $this->display(); } }
在View下面,新建Admin/list.html。把下载的模板文件,复制到相对应的目录。
<volist name="list" id="vo">
<tr class="text-c">
<td><input type="checkbox" name="id[]" value="{$vo.id}"></td>
<td>{$vo.id}</td>
<td>{$vo.username}</td>
<td>{$vo.phone}</td>
<td>{$vo.email}</td>
<td>
<if condition="$vo['adminrole'] eq '0'">
超级管理员
</if>
<if condition="$vo['adminrole'] eq '1'">
总编
</if>
<if condition="$vo['adminrole'] eq '2'">
主编
</if>
<if condition="$vo['adminrole'] eq '3'">
栏目编辑
</if>
</td>
<td>{$vo.rgtime|date="Y-m-d H:i:s",###}</td>
<td class="td-status"><span class="label label-success radius">已启用</span></td>
<td class="td-manage"><a style="text-decoration:none" onClick="admin_stop(this,'10001')" href="javascript:;" title="停用"><i class="Hui-iconfont"></i></a> <a title="编辑" href="javascript:;" onclick="admin_edit('管理员编辑','__URL__/edit/id/{$vo.id}','1','800','500')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont"></i></a> <a title="删除" href="__URL__/del/id/{$vo.id}" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont"></i></a></td>
</tr>
</volist>
<div class="list-page">{$page}</div>
上面是分页以及管理员列表,
增加:
<article class="cl pd-20"> <form action="__URL__/add" method="post" class="form form-horizontal" id="form-admin-add" enctype="multipart/form-data"> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>管理员:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="text" class="input-text" value="" placeholder="" id="usename" name="username"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>初始密码:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="password" class="input-text" autocomplete="off" value="" placeholder="密码" id="password" name="password"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>确认密码:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="password" class="input-text" autocomplete="off" placeholder="确认新密码" id="password2" name="password2"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>性别:</label> <div class="formControls col-xs-8 col-sm-9 skin-minimal"> <div class="radio-box"> <input name="sex" type="radio" id="sex-1" checked value="0"> <label for="sex-1">男</label> </div> <div class="radio-box"> <input type="radio" id="sex-2" name="sex" value="1"> <label for="sex-2">女</label> </div> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>头像:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="file" placeholder="" id="" name="image"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>手机:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="text" class="input-text" value="" placeholder="" id="phone" name="phone"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>邮箱:</label> <div class="formControls col-xs-8 col-sm-9"> <input type="text" class="input-text" placeholder="@" name="email" id="email"> </div> </div> <div class="row cl"> <label class="form-label col-xs-4 col-sm-3">角色:</label> <div class="formControls col-xs-8 col-sm-9"> <span class="select-box" style="width:150px;"> <select class="select" name="adminRole" size="1"> <option value="0">超级管理员</option> <option value="1">总编</option> <option value="2">栏目主辑</option> <option value="3">栏目编辑</option> </select> </span> </div> </div> <div class="row cl"> <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3"> <input class="btn btn-primary radius" type="submit" value=" 提交 "> </div> </div> </form> </article>
控制器
public function add() { $mod = D("admin"); if (IS_POST) { $data['username'] = I('username'); $data['password'] = I('password'); $data['password2'] = I('password2'); $data['sex'] = I('sex'); $data['adminRole'] = I('adminRole'); $data['phone'] = I('phone'); $data['email'] = I('email'); $data['rgtime'] = time(); if ($_FILES['image']['tmp_name'] != '') { $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 $upload->rootPath = './'; // 上传文件 $info = $upload->uploadOne($_FILES['image']); if (!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); } else {// 上传成功 $data['image'] = $info['savepath'] . $info['savename']; } } if ($data['password'] == $data['password2']) { $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(); }
2018年,12月开始,我要认真写博客啦

浙公网安备 33010602011771号