
Thinkphp5学习013-项目案例-编辑学生的控制器部分代码
一.我们在学生列表all.html的页面中有“编辑”按钮

我们点击它,应该是去传递一个学号去一下方法再find查询数据库,再返回一个edit.htm页面中

我们可以在这个页面中对信息进行修改,再提交,update数据库
二.下面是控制器student.php中的代码
//显示编辑学生的页面
public function edit($no)
{
$data = Db::name('student')->where('no', $no)->find();
$this->assign('student', $data);
return $this->fetch();
}
//执行编辑操作
public function do_edit()
{
$no = input('post.no');
$name = input('post.name');
$sex = input('post.sex');
$age = input('post.age');
$data = ['name' => $name, 'sex' => $sex, 'age' => $age];
try {
Db::name('student')->where('no', $no)->update($data);
$this->success('添加成功', 'all');
} catch (PDOException $ex) {
$this->error('编辑失败,' . $ex->getMessage());
}
}
代码解读:
1.edit(有一个参数),因为我们在点击”编辑”两字时是这样传递的
<a href="{:url('edit')}?no={$row.no}" class="btn btn-primary">编辑</a>
我们也可以写成:
//显示编辑学生的页面
public function edit()
{
$no = input('get.no');
$data = Db::name('student')->where('no', $no)->find();
$this->assign('student', $data);
return $this->fetch();
}
2.do_edit()实际是执行一个数据库update更新语句
Db::name('student')->where('no', $no)->update($data);
三.测试一下
1.点击编辑

2.查询数据库并返回信息页面

3.编辑信息并提交

4.编辑成功

===今天学习到此===