本文实例分析了基于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实现批量删除的关键性代码,希望对大家的学习有所帮助。