本文实例分析了基于ThinkPHP实现批量删除的代码实例,分享给大家供大家参考,具体如下:
废话不多说,先上效果图:
HTML布局(基于bootstrap)
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
30
31
32
33
34
35
36
37
|
< div class = "panel panel-default" > < div class = "panel-heading" > 留言列表 < a class = "btn btn-xs btn-default pull-right" href = "javascript:window.history.back();" >返回</ a > < a class = "btn btn-xs btn-info pull-right mr-5" id = "discard" href = "javascript:;" >删除</ a > </ div > < table class = "table" > < thead > < tr > < th >< input class = "all" type = "checkbox" /></ th > < th >id</ th > < th >名称</ th > < th >邮箱</ th > < th >内容</ th > < th >日期时间</ th > < th >操作</ th > </ tr > </ thead > < tbody > < form > < volist name = "list" id = "vo" empty = "$empty" > < tr > < td >< input name = "delete[]" type = "checkbox" value = "{$vo.id}" /></ td > < td >{$vo.id}</ td > < td >{$vo.name}</ td > < td >{$vo.email}</ td > < td >{$vo.subject}</ td > < td >{$vo.datetime|date="Y-m-d H:i", ###}</ td > < td > < a class = "delete" href = "javascript:;" data-id = "{$vo.id}" >删除</ a > </ td > </ tr > </ volist > </ form > </ tbody > </ table > </ div > |
JS脚本处理(使用ajax技术)
首先判断有没有选中的值,如果没有则提示;如果有,则传递到服务器端处理
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
30
31
32
33
34
|
/* 批量删除 */ // 全选 $( '.all' ).click( function () { if ($( this ).is( ':checked' )) { $( ':checkbox' ).attr( 'checked' , 'checked' ); } else { $( ':checkbox' ).removeAttr( 'checked' ); } }); // 删除操作 $( '#discard' ).click( function () { if ($( ':checked' ).size() > 0) { layer.confirm( '确定要删除吗?' , { btn: [ '确定' , '取消' ], //按钮 shade: false //不显示遮罩 }, function (){ $.post( "{:U('Single/discard')}" , {data: $( 'form' ).serializeArray()}, function (res) { if (res.state == 1) { layer.msg(res.message, {icon: 1, time: 1000}); } else { layer.msg(res.message, {icon: 2, time: 1000}); } setTimeout( function () { location.reload(); }, 1000); }); }, function (){ layer.msg( '取消了删除!' , {time: 1000}); }); } else { layer.alert( '没有选择!' ); } }); |
PHP代码:
获取提交的数据,然后循环得到每一个id的值,接着进行删除操作。
1
2
3
4
5
6
7
8
|
public function discard() { $contact = M( 'contact' ); $deleteArr = I( 'post.data' ); for ( $i =0; $i < count ( $deleteArr ); $i ++) { $contact -> delete ( $deleteArr [ $i ][ 'value' ]); } $this ->ajaxReturn( array ( 'message' => '删除成功!' )); } |
以上就是ThinkPHP实现批量删除的关键性代码,希望对大家的学习有所帮助。