1. 简介
本文主要介绍在thinkPHP5框架中使用DB实现批量删除的方法,具体步骤如下。
2. 准备工作
在开始使用DB实现批量删除功能前,需要完成以下准备工作:
2.1. 数据库连接
确保已经成功连接到MySQL数据库,具体数据库的相关配置可以在`config/database.php`文件中进行更改。
2.2. 创建数据库表
在MySQL数据库中创建需要删除数据的数据表,例如我们在数据库`test`中创建`user`表,SQL语句如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
`age` int(3) DEFAULT NULL,
PRIMARY KEY (`id`)
);
2.3. 创建控制器
创建一个名为`User`的控制器,在控制器中添加一个`deleteBatch`方法,用于批量删除数据。
3. 批量删除数据
在`User`控制器中添加`deleteBatch`方法,代码如下:
public function deleteBatch()
{
$ids = $_POST['ids'];
if(!empty($ids)){
$res = db('user')->delete($ids);
if($res){
return json(['status'=>1,'message'=>'删除成功']);
}else{
return json(['status'=>0,'message'=>'删除失败']);
}
}else{
return json(['status'=>0,'message'=>'删除的id不能为空']);
}
}
其中,`$_POST['ids']`是前端传过来的需要删除的数据的id值,`db('user')->delete($ids)`通过使用TP5的DB查询构建器,将该数组作为参数进行删除操作。
4. 前端实现
在前端页面中调用控制器中的`deleteBatch`方法,代码如下:
$('button').click(function(){
var ids = [];
$('input[name="ids"]:checked').each(function(){
ids.push($(this).val());
});
if(ids.length == 0){
alert('请选择要删除的数据');
return;
}
$.post('user/deleteBatch',{'ids':ids},function(data){
if(data.status == 1){
alert(data.message);
window.location.reload();
}else{
alert(data.message);
}
});
});
其中,`$('input[name="ids"]:checked')`可以获取到所有选中的复选框,将其对应的id值存入数组中,并将该数组作为参数传递给`deleteBatch`方法,最后在回调函数中进行提示和刷新页面。
5. 总结
通过本文的介绍,我们可以看出,在thinkPHP5框架中使用DB实现批量删除的方法非常简单。只需要在控制器中添加一个`deleteBatch`方法,通过使用TP5的DB查询构建器,将需要删除的数据的id值作为参数传入,调用`delete`方法即可实现批量删除。同时,需要在前端页面中调用该方法,并将选中的数据的id值传递给后台。