thinkphp框架实现删除和批量删除

时间:2022-08-24 13:42:21

本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧。
预期效果图:

thinkphp框架实现删除和批量删除

原谅博主对照片的处理是如此的草率吧。。。
仍然是 通过MVC模式进行拆分:
首先是视图部分: 

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<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判断一下是不是数组,省去了分开写的麻烦。
接下来是控制器的部分 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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到了吗?

原文作者:橙色时光