Home > Backend Development > PHP Tutorial > 基于ThinkPHP实现批量删除_PHP

基于ThinkPHP实现批量删除_PHP

WBOY
Release: 2016-05-28 11:50:02
Original
865 people have browsed it

本文实例分析了基于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>
Copy after login

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('没有选择!');
    }
  });

Copy after login

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'=>'删除成功!'));
}
Copy after login

以上就是ThinkPHP实现批量删除的关键性代码,希望对大家的学习有所帮助。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template