微信实验十四、ThinkPHP5.0用户批量删除及源码下载
(>>>>在公众号中输入文章最后彩蛋即可获取源代码)
开源项目:https://github.com/chenxhjeo,个人博客:http://blog.****.net/u013487761
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
初建日期:2017.04.29
一、实验目的
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)方法,实现多重选择,代码如下。
<input name='chkall' type='checkbox' id='chkall' onclick='selectcheckbox(this.form)' value='check'>
b)然后,在每个选择项中增加checkbox控件,即<input type="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()代码如下。
public function deleall() {
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 '删除失败';
}
}
四、技术服务
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
彩蛋号:1211。