小编给大家分享一下ThinkPHP如何实现部门管理功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设、微信开发、小程序制作、集团企业网站制作等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:酒楼设计等众多领域,积累了大量丰富的经验,同时也获得了客户的一致表扬!【一】部门列表展示
分析:
①控制器DeptController.class.php ②方法showList(不要使用list方法,因为list是关键词) ③模板文件:showList.html
下面按步骤编写
①创建方法showList来展示模板
class DeptController extends Controller{ public function showList(){ $this->display(); } }
②将模板文件showList.html复制到View/Dept下(因为控制器为Dept,方法为showList,所以要一一对应)
③修改静态资源路径
④修该showList方法,获取部门数据。并传递到模板
public function showList(){ $model = M('dept');//模型实例化 $data = $model->order('sort asc')->select();//条件查询,升序排列 $this->assign('data',$data);//变量分配传递到模板 $this->display(); }
⑤模板遍历读取数据
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除数据 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | 编辑 | 删除 |
注意:1. 模板的if判断,必须加空格
2.
【二】部门编辑
分析:
控制器:DeptController.class.php
方法:edit(展示模板】处理提交)
模板:edit.html
下面按步骤编写代码
(1)编写edit方法,实现模板展示
public function edit(){ //展示模板 $this->display(); }
(2)修改编辑按钮,跳页时带上id
编辑
(3)复制模板文件edit.html到指定位置,Admin/View/Dept/edit.html
;修改静态资源路径
(4)修改edit方法,展示原来数据
id:
部门:
所属部门:
排序:
备注:
(5)处理表单提交页面
隐藏域:因为系统限制不能执行批量修改,所以修改时必须指定主键。所以必须添加一个隐藏域,来传递id
jquery提交:
(6)数据的保存,修改edit方法后的代码
public function edit(){//展示模板或者post请求 if (IS_POST){ $post = I('post.'); // dump($post);die; $model = M('dept'); //保存操作 $result = $model->save($post); if ($result !== false) { $this->success('修改成功',U('showList'),3); }else{ $this->error('修改失败'); } }else{ //接收id $id=I('get.id'); //实例化模型 $model = M('dept'); //查询指定记录 $data = $model->find($id); // 查询全部的部门信息(不包含当前级),同于下拉。因为包含自己所在级别会在递归时陷入死循环? $info = $model->where('id != '.$id)->select(); //变量分配 $this->assign('data',$data); $this->assign('info',$info); //展示模板 $this->display(); } }
【三】部门删除
分析
控制器:DeptController.class.php
方法:del
模板:删除不需要模板文件,因为删除就是个处理数据过程。和登出一样
说明:有单个删除,也有批量删除。而编辑只能单个编辑,不能批量编辑。
(1)修改模板,添加复选框
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | 编辑 |
(2)点击删除按钮,实现删除
①点击删除,获取复选框的值(jquery实现)。之后到php删除方法
②编写del方法,实现删除
//真删除---批量和单个删除
public function del(){ //接收参数 $id = I('get.id'); //模型实例化 $model = M('dept'); //删除 $result = $model->delete($id); //判断结果,删除成功或失败都会跳转到列表页,所以不用加入跳转链接 if ($result) { $this->success('删除成功'); }else{ $this->error('删除失败'); } }
看完了这篇文章,相信你对“ThinkPHP如何实现部门管理功能”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款