本文实例分析了基于ThinkPHP实现批量删除的代码实例,分享给大家供大家参考,具体如下:
废话不多说,先上效果图:
HTML布局(基于bootstrap)
<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技术)首先判断有没有选中的值,如果没有则提示;如果有,则传递到服务器端处理
/* 批量删除 */ // 全选 $(".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的值,接着进行删除操作。
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实现批量删除的关键性代码,希望对大家的学习有所帮助。