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