基于ThinkPHP实现批量删除


Posted in PHP onDecember 18, 2015

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

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

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

PHP 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
火车头discuz6.1 完美采集的php接口文件
Sep 13 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php防止SQL注入详解及防范
Nov 12 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
PHP children()函数讲解
Feb 03 PHP
PHP生成图表pChart的示例解析
Jul 31 PHP
利用ajax+php实现商品价格计算
Mar 31 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 #PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 #PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 #PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 #PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 #PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 #PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 #PHP
You might like
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
js实现计算器功能
2020/08/10 Javascript
Python3中的bytes和str类型详解
2019/05/02 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
教师年终个人自我评价
2013/10/04 职场文书
大客户销售经理职责
2013/12/04 职场文书
党员干部承诺书
2014/03/25 职场文书
民事起诉书范本
2015/05/19 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS