php教程

超轻量级php框架startmvc

基于ThinkPHP实现批量删除

更新时间:2020-03-07 00:59:16 作者:startmvc
本文实例分析了基于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实现批量删除的关键性代码,希望对大家的学习有所帮助。

thinkPHP 批量删除