Thinkphp3.2.3版本批量删除
1、在你的html页面
<form method="post" action="{:U('post/deleall')}">
<foreach name="model" item="v">
<tr>
<td><input type = 'checkbox' name = 'id[]' id = 'checkbox' value = "{$v.id}" class="checkbox"></td>
<td>{$v.id}</td>
.......是你的foreach循环出你想要的
2、</foreach>
</tbody>
<div class="clearfix">
<button type="submit" class="btn btn-default">全部删除</button>
</div>
</form>
这是下面结束的代码,点击全部删除回到deleall方法中
3、ublic function deleall(){
$model = M('post');
$id=I('post.id');//获取post提交的值并获取id值
$ids = join(',', $id);
$data = $model->where(array('id' => array('in', $ids)))->delete();
if($data){
$this->success("删除成功", U('post/index'));
}else{
$this->error("删除失败");
}
}
这是deleall方法
4、解释一下,直接用I接收过来的id是数组形式的如下:
array(2) { [0] => string(2) "19" [1] => string(2) "12"}
通过join方法把接收过来的id格式修改为id1,id2,id3,...
这样就可以用mysql数据库的in查询方法,thinkphp中也有,
where(array('id' => array('in', $ids)))->delete();查询到选中复选框的id,作为条件删除,达到批量删除效果。