本文实例讲一下如何用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到了吗?
原文作者:橙色时光