ThinkPHP刪除欄目(實現(xiàn)批量刪除欄目)
前段時間發(fā)表了一個刪除欄目的隨筆,當時實現(xiàn)的功能是刪除一條信息,這次來實現(xiàn)一下批量刪除欄目。
我們需要達到的是這樣一個效果:

選中批量刪除按鈕后可以選中所有該頁面的欄目,這個是前端頁面的實現(xiàn),在這里就不多說了,我們直接進入正題:批量刪除的功能。
1.前端頁面這里也有一個小小的點,就是選擇框的name值應給給他賦值為一個id的數(shù)組,value值為該欄目的id。
2.我們在控制器中單獨寫一個批量刪除的方法
public function privilege_bdel(){
$ids = I('ids');
$pri = D('privilege');
$ids = implode(',', $ids);
if($ids){
if($pri->delete($ids)){
$this->success('批量刪除欄目成功!',U('Privilege/privilege_lst'));
}else{
$this->error('批量刪除欄目失敗,請重試!');
}
}else{
$this->error('未選中任何內(nèi)容,請重試!');
}
}
這里要將傳過來的id數(shù)組轉化為以逗號分隔的字符串如:1,2,3,這樣可以直接進行delete操作。

這就是我們dump出來options的結果,這條也是我們用來判斷刪除時是單個刪除還是批量刪除的依據(jù),如果options[where][id]是一個數(shù)組的話,則說明進行的是批量刪除,否則就是單個刪除。
3.在模型中對刪除前構造函數(shù)的修改
public function _before_delete($options){
//批量刪除
if(is_array($options['where']['id'])){
$arr = explode(',', $options['where']['id'][1]);
$sonpri = array();
foreach ($arr as $k => $v) {
$sonpri2 = $this->childid($v);
$sonpri = array_merge($sonpri,$sonpri2);
}
$sonpri = array_unique($sonpri);
$chilrenids = implode(',', $sonpri);
}else{//單個刪除
$chilrenids =$this->childid($options['where']['id']);
$chilrenids = implode(',', $chilrenids);
}
if($chilrenids){
$this->execute("delete from ed_privilege where id in($chilrenids)");
}
}
在這里我們寫出批量刪除的代碼(單個刪除之前已經(jīng)寫過,不再提)
將傳過來的字符串轉化為不帶逗號的數(shù)組形式存在$arr中,建立一個空數(shù)組$sonpri,然后foreach遍歷,這里先查找出所有的子欄目id(會用childid函數(shù)),存入$sonpri2數(shù)組中 ,再將$sonpri和$sonpri2合并為一個數(shù)組,使用array_merge()函數(shù)完成,這樣我們才算是獲取到了所有子欄目的id,但是我們所獲取的id組中,會出現(xiàn)許多重復的id,所以這里我們還要進行去重的操作,使用array_unique()函數(shù)。最后再進行一次數(shù)組的拆分,得到id字符串,再進行刪除就大功告成了。
以上這篇ThinkPHP刪除欄目(實現(xiàn)批量刪除欄目)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Thinkphp5.0框架使用模型Model的獲取器、修改器、軟刪除數(shù)據(jù)操作示例
- Thinkphp5.0 框架使用模型Model添加、更新、刪除數(shù)據(jù)操作詳解
- tp5(thinkPHP5框架)使用DB實現(xiàn)批量刪除功能示例
- thinkPHP利用ajax異步上傳圖片并顯示、刪除的示例
- ThinkPHP框架實現(xiàn)用戶信息查詢更新及刪除功能示例
- 基于php(Thinkphp)+jquery 實現(xiàn)ajax多選反選不選刪除數(shù)據(jù)功能
- thinkphp框架實現(xiàn)刪除和批量刪除
- thinkPHP刪除前彈出確認框的簡單實現(xiàn)方法
- 基于ThinkPHP刪除目錄及目錄文件函數(shù)
相關文章
PHP遞歸遍歷指定目錄的文件并統(tǒng)計文件數(shù)量的方法
這篇文章主要介紹了PHP遞歸遍歷指定目錄的文件并統(tǒng)計文件數(shù)量的方法,涉及php文件及目錄操作的技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03
php iconv() : Detected an illegal character in input string
PHP傳給JS字符串用ecsape轉換加到url里,又用PHP接收,再用網(wǎng)上找的unscape函數(shù)轉換一下,這樣得到的字符串是UTF-8的,但我需要的是GB2312,于是用iconv轉換2010-12-12

