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">&#xe631;</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">&#xe6df;</i></a> <a title="删除" href="__URL__/del/id/{$vo.id}" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</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="&nbsp;&nbsp;提交&nbsp;&nbsp;">
            </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();
    }

 

posted @ 2018-12-27 11:09  吃土攻略  阅读(655)  评论(0)    收藏  举报