首先我们需要来到列表也的模版下,做下编辑前的工作:
首先在列表页将id用get的方法让他传给edit方法,然后在控Admin控制器下的edit方法中进行查询:
由于是单条数据,所以我们直接使用 $data.username 这种方式即可将他分配到模板页中:
然后我们来看看效果先:
已经成功分配过来了,但是在修改钱还有一个很重要工作,那就是在edit模板页通过input隐藏域通过post发送一条数据给edit方法,如下所示:
然后开始编写控制器中的edit方法:
<?php namespace AdminController; use ThinkController; class AdminController extends Controller { public function lists(){ $mod = M('admin'); $totalRows = $mod->count(); //创建分页对象时,分页对象需要总记录数和分页条数 $page = new ThinkPage($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(); } }