首先我们需要来到列表也的模版下,做下编辑前的工作:
首先在列表页将id用get的方法让他传给edit方法,然后在控Admin控制器下的edit方法中进行查询:
由于是单条数据,所以我们直接使用 $data.username 这种方式即可将他分配到模板页中:
然后我们来看看效果先:
已经成功分配过来了,但是在修改钱还有一个很重要工作,那就是在edit模板页通过input隐藏域通过post发送一条数据给edit方法,如下所示:
然后开始编写控制器中的edit方法:
<?php
namespace Admin\Controller;
use Think\Controller;
class AdminController extends Controller {
public function lists(){
$mod = M('admin');
$totalRows = $mod->count();
//创建分页对象时,分页对象需要总记录数和分页条数
$page = new \Think\Page($totalRows,2);
$page -> rollPage =3; //分页列表上显示多少条
$page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$page->setConfig('first','首页');
$page->setConfig('prev','上一页');
$page->setConfig('next','下一页');
$page->setConfig('last','尾页');
$pageHtml = $page -> show();//生成分页的连接诶效果(分页工具条的html代码)
$this -> assign('pageHtml',$pageHtml);//分配分页栏到模版
//2.查询出当前页面的列表数据
$data = $mod ->order('id desc')->page(I('get.p',1),$page->listRows)->select();
$this -> assign('data',$data);
$this -> display();
}
public function add(){
$mod = D("admin");
if(IS_POST){
$data['username'] = I('username');
$data['password'] = I('pass');
$data['passer'] = I('passer');
if($data['password'] == $data['passer']){
$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();
}
public function edit(){
$id = I('id');
$mod = D('admin'); //因为修改时候我们需要使用到模型,所以我们需要使用D方法
$data = $mod -> find($id);
$this -> assign("data",$data);
if(IS_POST){
$datas['username'] = I('username');
$datas['password'] = I('pass');
$datas['passer'] = I('passer');
$datas['id'] = $id;
if($datas['password'] == $datas['passer']){
$datas['password'] = md5($datas['password']);
if($mod->create($datas)){
if($mod -> save($datas)){
$this -> success('管理员修改成功',U('admin/lists'));
}else{
$this -> error('修改管理员失败!');
}
}else{
$this -> error($mod->getError());
}
}else{
$this -> error('两次输入密码不相符');
}
return;
}
$this -> display();
}
public function del(){
$id = I('id');
if(M('admin')->delete($id)){
$this->success('删除成功');
return;
}else{
$this->error('删除失败');
}
$this -> display();
}
}