Thinkphp5实现管理员增删改查(CRUD)

会有一股神秘感。 提交于 2020-12-02 00:50:20

一、管理员添加

 /***    
     * 添加管理员
     */
    public function add(Request $request){
        //判断提交类型
         if($request->IsPost()){
            //接收数据
            $data=[
                'username'=>input('username'),
                'password'=>input('password')
            ];
            //后台验证提交数据合法性
            $validate=Loader::validate('admin');
            if(!$validate->scene('add')->check($data)){
                 $this->error($validate->getError());die();
            }
            $data['password']=md5($data['password']);
            $res=db('admin')->insert($data);
            if($res){
                return $this->success('插入数据成功!','lst');
            }else{
                return $this->error('插入数据失败!');
            }
         }
        return $this->fetch();
 
二、分页显示管理员列表信息
   /***
     * 管理员列表 
     */
    public function lst(){
        $result=db('admin')->order('id','desc')->paginate(2);
        $this->assign('result',$result);
        return $this->fetch();
    }
三、编辑管理员
列表中编辑按钮传值如下: 
更新管理员时要向后台传入当前id
<a href="{:url('links/edit',array('id'=>$vo.id))}"  class="btn btn-primary btn-sm shiny">
                                                            <i class="fa fa-edit"></i> 编辑
     </a> 
 
 /** 
     * 编辑管理员信息
     */
    public function edit(Request $request){       
        $id=input('id');       
        $admin=db('admin')->where('id',$id)->find();        
        if($request->isPost()){ //post提交更新当前用户信息
            $data=[//接收提交数据
                'id'=>input('id'),
                'username'=>input('username'),
            ];
            //判断密码,如果为空则保持不变
            if(input('password')){
                $data['password']=md5(input('password'));
            }else{
                $data['password']=$admin['password'];
            }
            //数据验证
            $validate=Loader::validate('admin');
            if(!$validate->scene('edit')->check($data)){
                 $this->error($validate->getError());die();
            }
            //执行更新
            $result=db('admin')->where('id',$id)->update($data);
            if($result){
                return $this->success('更新数据成功!','lst');
            }else{
                return $this->error('更新数据失败!');
            }
       }
       $this->assign('admin',$admin);
       return $this->fetch();
    }

四、删除管理员

列表中删除按钮传值如下: 
<a href="#"  onClick="warning('确实要删除吗', '{:url('links/delete',array('id'=>$vo['id']))}')"
                                                            class="btn btn-danger btn-sm shiny">
                                                            <i class="fa fa-trash-o"></i> 删除
   </a>     
/** 
     * 删除管理员
     */
    public function delete(Request $request){
        $id=input('id');
        if($id==3){
            $this->error('初始化管理员不允许删除!');
        }else{
            $result=db('admin')->delete($id);//返回影响的记录条数
            if($result){
                 $this->success('删除数据成功!','lst');
            }else{
                 $this->error('删除数据失败!');
            }
        }
        
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!