thinkphp3.2 管理员增删改查,批量删除
public function lst(){ $admin=D("admin"); $count = $admin->count();// 查询满足要求的总记录数 $Page = new ThinkPage($count,4);// 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show();// 分页显示输出 $list = $admin->order("id desc")->limit($Page->firstRow.",".$Page->listRows)->select(); $this->assign("list",$list); $this->assign("page",$show); $this->display(); }
这个是管理员首页展示页面,代表每四个下一页
public function add(){ $admin=D("Admin"); if(IS_POST){ $data["id"]=I("id"); $data["username"]=I("username"); $data["password"]=md5(I("password")); if($admin->create($data)){ if($admin->add()){ $this->success("添加管理员成功!",U("lst")); }else{ $this->error("添加管理员失败!"); } }else{ $this->error($admin->getError()); } return ; } $this->display(); }
这个是添加管理员的函数,这个有一点特殊,需要md5加密,另外数据库mysql里面密码的字段类型char,固定32位
public function del(){ $id=I("id"); $admin=D("admin"); if($admin->delete($id)){ $this->success("删除管理员成功",U("lst")); }else{ $this->error("删除管理员失败"); } }
这个是删除管理员的函数
public function edit(){ $admin=D("admin"); if(IS_POST){ $data["id"]=I("id"); $data["username"]=I("username"); $data["password"]=md5(I("password")); if($admin->create($data)){ if($admin->save()){ $this->success("修改管理员成功",U("lst")); }else{ $this->error("修改管理员失败"); } }else { $this->error($admin->getError()); } return ; } $admins=$admin->find(I("id")); $this->assign("admins",$admins); $this->display(); }
这个是编辑的函数,需要说明一下,前台需要放一个这样的标签
<input type="hidden" name="id" value="{$admins.id}">
隐藏类型,你在lst这个页面点击修改这个链接,连接到的地址是edit,这时你需要传递一个参数i,给edit,有这个来接收
$admins=$admin->find(I("id"));然后赋值给$admins,赋给前台edit,
<input type="hidden" name="id" value="{$admins.id}">然后前台有传递一个id,到后台,后台会在数据库里面寻找然后保存,(我自己都把自己说糊涂了,反正就是那个套路)
重点来了,批量删除
需要js一点知识,这个我不会,只好跟着写代码
<input class="allChoose" name="" id="check" type="checkbox">
类似于这样,点击一个最上面的小方格,下面全部选中,在本页面内放上这样的js代码
<script type="text/javascript"> $("#check").click(function() { if ($(this).attr("checked")) { $(".check").attr("checked", "checked") } else { $(".check").removeAttr("checked") } }) </script>
具体怎么解释我给忘了,暂时也不想去想只知道当时知道函数的意思,现在不想看了
<input name="ids[]" class="check" value="{$vo.id}" type="checkbox">与上面对应的input,里面一定要携程ids[]数组形式
通过前台input传递到控制器
<input type="submit" form="myform" formaction="__CONTROLLER__/bdel" name="" class="btn btn-primary btn2" value="批量删除">
然后后台代码这个样子就可以批量删除了
public function bdel(){ $admin=D("admin"); $ids=I("ids"); $ids=implode(",",$ids); if($ids){ if($admin->delete($ids)){ $this->success("删除管理员成功!",U("lst")); }else{ $this->error("删除管理员失败!"); } }else{ $this->error("未选中任何管理员!"); } }
以上纺织我以后忘记,写入博客,以后都是素材
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: ThinkPHP数据回滚的使用简介
- 下一篇: [thinkPHP5项目实战_17]文章编辑