Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ThinkPHP实现批量删除

ThinkPHP实现批量删除

不言
不言asal
2018-06-08 15:38:571746semak imbas

这篇文章主要介绍了基于ThinkPHP实现批量删除的代码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例分析了基于ThinkPHP实现批量删除的代码实例,分享给大家供大家参考,具体如下:

废话不多说,先上效果图:


HTML布局(基于bootstrap)

<p class="panel panel-default">
  <p 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>
  </p>
  <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>
</p>

JS脚本处理(使用ajax技术)
首先判断有没有选中的值,如果没有则提示;如果有,则传递到服务器端处理

/* 批量删除 */
  // 全选
  $(&#39;.all&#39;).click(function() {
    if($(this).is(&#39;:checked&#39;)) {
      $(&#39;:checkbox&#39;).attr(&#39;checked&#39;, &#39;checked&#39;);
    } else {
      $(&#39;:checkbox&#39;).removeAttr(&#39;checked&#39;);
    }
  });

  // 删除操作
  $(&#39;#discard&#39;).click(function() {
    if($(&#39;:checked&#39;).size() > 0) {
      layer.confirm(&#39;确定要删除吗?&#39;, {
        btn: [&#39;确定&#39;,&#39;取消&#39;], //按钮
        shade: false //不显示遮罩
      }, function(){
        $.post("{:U(&#39;Single/discard&#39;)}", {data: $(&#39;form&#39;).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(&#39;取消了删除!&#39;, {time: 1000});
      });
    } else {
      layer.alert(&#39;没有选择!&#39;);
    }
  });

PHP代码:
获取提交的数据,然后循环得到每一个id的值,接着进行删除操作。

public function discard() {
  $contact = M(&#39;contact&#39;);
  $deleteArr = I(&#39;post.data&#39;);
  for($i=0;$i<count($deleteArr);$i++) {
    $contact->delete($deleteArr[$i][&#39;value&#39;]);
  }
  $this->ajaxReturn(array(&#39;message&#39;=>&#39;删除成功!&#39;));
}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于thinkPHP实现批量删除的方法

关于thinkphp框架实现删除和批量删除的分析

关于thinkphp框架实现数据添加和显示的功能方法

Atas ialah kandungan terperinci ThinkPHP实现批量删除. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn