本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧。
预期效果图:
原谅博主对照片的处理是如此的草率吧。。。
仍然是 通过MVC模式进行拆分:
首先是视图部分:
<form action="__MODULE__/Admin/User/del" method="get"> <tr> <th width="4%"><input type="checkbox" name="checkbox10" id="checkbox10"></th> <th width="13%">用户名</th> <th width="10%">真实姓名</th> <th width="13%">手机号</th> <th width="21%">邮箱</th> <th width="11%">注册时间</th> <th width="17%">操作</th> </tr> <volist name = 'adminUsers' id = 'vo'> <tr> <td><input type="checkbox" name="id[]" id="checkbox" value="{$vo.id}"> <td>{$vo.username}</td> <td>{$vo.realname}</td> <td>{$vo.telphone}</td> <td>{$vo.email}</td> <td>{$vo.resgistertime}</td> <td><a href="__MODULE__/Admin/User/modi/id/{$vo.id}">修改</a><a href="#"></a> <a href="__MODULE__/Admin/User/del/id/{$vo.id}">删除</a></td> </tr> </volist> </table> </div> <div class="input-group pull-left form"> <button type="submit" class="btn btn-danger ">删 除</button> </div> </form>
仍然是采用表单传值的方法,不过这次不需要验证,因为是对数据的直接处理而非让用户输入数据,所以不必担心数据的不合法性省略了model部分。这里采用的一种比较巧妙地一种方法是将name定义为了一个数组,而在控制器中则只需要对传入的id判断一下是不是数组,省去了分开写的麻烦。
接下来是控制器的部分
public function del(){ // $name = getActionName(); //作为公共的函数使用时添加 $adminUsersModel = D("adminUsers"); //获取当期模块的操作对象 $id = $_GET['id']; //判断id是数组还是一个数值 if(is_array($id)){ $where = 'id in('.implode(',',$id).')'; }else{ $where = 'id='.$id; } //dump($where); $list=$adminUsersModel->where($where)->delete(); if($list!==false) { $this->success("成功删除{$list}条!", U("Admin/User/lists")); }else{ $this->error('删除失败!'); } }
以上便是全部的是全部的实现过程了,不知道这种相对巧妙地方法小伙伴们GET到了吗?
原文作者:橙色时光