一、实验目的
1、掌握ThinkPHP5.0用户批量删除功能。
二、实验内容
1、掌握ThinkPHP5.0用户通过多重选择,实现批量删除功能。
三、实验步骤及过程
实验十二实现了基本的删除功能,但批量删除功能并没有实现,以下我们将介绍如何实现这个功能。
1、查询与分类查询功能界面
用户登录后,进入http://127.0.0.1/noneCms/public/index.php/weixin/index/index.html主界面,单击公众号用户,则进入了微信用户信息管理界面,包括用户信息浏览、删除、增加、修改、查询与分类查询、批量物理删除几个功能,如图所示。
2、关键代码解析
我们将详细解析批量删除功能实现的关键步骤,包括前台的多重选择;前台与后台之间的交互。
1)前台的多重选择功能
用户单击编号旁的复选框按钮,可以选择所有的用户信息,进而可以实现前台与后台的交互,实现多重删除功能。
a)首先,在form标签中以在table标签的表头中添加checkbox控件,调用selectcheckbox(this.form)方法,实现多重选择,代码如下。
'chkall'type='checkbox'id='chkall'onclick='selectcheckbox(this.form)'value='check'>
b)然后,在每个选择项中增加checkbox控件,即
name="checkbox[]" value="{$vo.id}"/>,selectcheckbox(this.form)能够得到该form中的所有checkbox,实现多重选择。
c)进而,调用selectcheckbox(this.form)实现多重选择,注意,所有的checkbox控件必须在form中。
function selectcheckbox(form) {
for (var i =0; i < form.elements.length; i++) {
var e =form.elements[i];
if(e.name != 'chkall' && e.disabled != true) e.checked =form.chkall.checked;
}
}
d)最后,单击物理删除按钮,向服务器发送信息,代码如下:
//执行删除移动分类
$(".execute").click(function () {
confirms('警告','确定要删除所选用户吗?','',function(){
$.get("{:url('users/deleall')}",$("form").serialize(),function(data){
alertw(data);
});
});
});
2)批量删除功能与后台的交互
用户单击物理删除按钮,通过以下代码调用users控制器的deleall方法,同样以get方法向后台传递数据,后台通过input('?param.checkbox')得到用户单击checkbox输入,users.php中的deleall()代码如下。
publicfunctiondeleall() {
if(input('?param.checkbox')){
$ids =input('param.checkbox/a');
}else{
$ids =input('param.id/d',0);
}
//物理删除
$flag = Db::name(self::$_table)->where('id','in',$ids)->delete();
if($flag) {
echo'删除成功';
}else{
echo'删除失败';
}
}
四、技术服务
1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”。
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
彩蛋号:1211。
网友评论