日常积累

thinkphp5的入门学习(1)引入数据列表及其操作

2019-01-18  本文已影响29人  Albert新荣

此目的为如下路的数据表,并对表中数据增删改,表中数据为数据库读入的数据


image.png

0.连接数据库 (这个不用说很容易,这边看我之前的)


image.png
  1. 数据读入
    在文章控制器Article中创建文章主页函数 lst()
    / /use app\Admin\model\Article as ArticleModel;
 $list = ArticleModel::paginate(3);//数据读入,继承model,每页显示数据
        $this->assign('list',$list);
        return $this->fetch();

在view/article/lst.html中的写法


image.png

1.数据添加
首先在view/article/lst.html的添加按钮代码为


image.png

add.html代码


image.png

下面对add()函数语句的详细注释

public function add()
    {   
        if(request()->isPost())//如果为post提交则
            $data=[//输入的·数据赋值于数组中input('html元素name')
                'title'=>input('title'),
                'author'=>input('author'),
                'desc'=>input('desc'),
                'keywords'=>str_replace(',', ',', input('keywords')),
                'content'=>input('content'),
                'cateid'=>input('cateid'),
                'time'=>time(),//时间的不需要输入的值进行函数赋值
            ];
            if(input('state')=='on'){//0-1判断器
                $data['state']=1;
            }
            if($_FILES['pic']['tmp_name']){//插入图片
                $file = request()->file('pic');
                $info = $file->move(ROOT_PATH . 'public' . DS . 'static/uploads');
                $data['pic']='/uploads/'.$info->getSaveName();
            }
            $validate = \think\Loader::validate('Article');//验证器
            if(!$validate->scene('add')->check($data)){
               $this->error($validate->getError()); die;
            }
            if(db('Article')->insert($data)){//添加数据库
                return $this->success('添加文章成功!','lst');
            }else{
                return $this->error('添加文章失败!');
            }
            return;
        }
        $cateres=db('cate')->select();//查询更新
        $this->assign('cateres',$cateres);
        return $this->fetch();
    }

2.数据删除
和添加一样
首先获取要删除的id

image.png

在article.php中的删除函数

   public function del(){
        $id=input('id');//获取需要删除的id
        if(db('Article')->delete(input('id'))){
            $this->success('删除文章成功!','lst');
        }else{
            $this->error('删除文章失败!');
        }

    }

3.数据修改
修改的id

image.png

修改的html代码和界面


image.png image.png

html界面


image.png
public function edit(){
        $id=input('id');//获取需要修改的id
        $articles=db('Article')->find($id);//打开数据库该位置
        if(request()->isPost()){/如果为post请求则..
            $data=[
                'id'=>input('id'),
                'title'=>input('title'),
                'author'=>input('author'),
                'desc'=>input('desc'),
                'keywords'=>str_replace(',', ',', input('keywords')),
                'content'=>input('content'),
                'cateid'=>input('cateid'),
            ];
            if(input('state')=='on'){//0-1选择
                $data['state']=1;
            }else{
                $data['state']=0;
            }
            if($_FILES['pic']['tmp_name']){//图片输入

                $file = request()->file('pic');
                $info = $file->move(ROOT_PATH . 'public' . DS . 'static/uploads');
                $data['pic']='/uploads/'.$info->getSaveName();
            }
            $validate = \think\Loader::validate('Article');
            if(!$validate->scene('edit')->check($data)){
               $this->error($validate->getError()); die;
            }
            if(db('Article')->update($data)){
                $this->success('修改文章成功!','lst');
            }else{
                $this->error('修改文章失败!');
            }
            return;
        }
        $this->assign('articles',$articles);
        $cateres=db('cate')->select();//修改后重新获取数据库,并刷新
        $this->assign('cateres',$cateres);
        return $this->fetch();
    }

这是一遍转载的文章,文章来自https://blog.csdn.net/qq_16546829/article/details/78167923

上一篇 下一篇

猜你喜欢

热点阅读