您的位置:首页 > 编程语言 > PHP开发

thinkphp批量删除的实现

2016-08-19 11:25 183 查看


今天自己在写后台的时候需要把以前上传的测试文章全部删除掉,但是利用 【操作】里面的一个个删除比较慢,因此想出一个批量删除的解决方案。

首先在前端页面里面建立一个表单,这个表单是把你选中的单选按钮提交到控制器的操作函数

<form action="__URL__/deleteSelected" method="post"></form>


批量删除前端用了一个js 的简单验证

<a href="#" onclick="delAll()" class="delete"><span class="glyphicon glyphicon-trash"> </span> 批量删除</a>


<td class="tc"><input name="id[]" value="<{$voList.txt_id}>" type="checkbox"></td>


<script>
function delAll(){
var chk_value =[];
$('input[name="id[]"]:checked').each(function(){
chk_value.push($(this).val());
});
console.log(chk_value);
var submit = confirm(chk_value.length==0 ?'你还没有选择任何内容!':'您是否需要将id '+chk_value+'删除');
if (submit) {
window.location.href = "__URL__/deleteSelected/id/"+chk_value;
return false;
} else{
return false;
};
}
</script>


主要功能实现是通过后台的操作来完成的,代码如下

//批量删除
public function deleteSelected(){
$getid = $_REQUEST['id']; //获取选择的复选框的值
dump($getid);
if (!$getid)
$this->error('未选择记录'); //没选择就提示信息
$getids = implode(',', $getid); //选择一个以上,就用,把值连接起来(1,2,3)这样
$id = is_array($getid) ? $getids : $getid; //如果是数组,就把用,连接起来的值覆给$id,否则就覆获取到的没有,号连接起来的值
//最后进行数据操作,
$Result = D("Txt")->delete($id);
$say = '删除成功';
if ($Result === false) {
$this->error('操作失败');
} else {
$this->success($say);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: