thinkphp5的入门学习(1)引入数据列表及其操作
2019-01-18 本文已影响29人
Albert新荣
此目的为如下路的数据表,并对表中数据增删改,表中数据为数据库读入的数据
image.png
0.连接数据库 (这个不用说很容易,这边看我之前的)
image.png
- 数据读入
在文章控制器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
在article.php中的删除函数
public function del(){
$id=input('id');//获取需要删除的id
if(db('Article')->delete(input('id'))){
$this->success('删除文章成功!','lst');
}else{
$this->error('删除文章失败!');
}
}
3.数据修改
修改的id
修改的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