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