(>>>>在公衆號中輸入文章最後彩蛋即可獲取源代碼)
開源項目:https://github.com/chenxhjeo,個人博客:http://blog.csdn.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。