ThinkPHP刪除欄目(實現(xiàn)批量刪除欄目)
前段時間發(fā)表了一個刪除欄目的隨筆,當(dāng)時實現(xiàn)的功能是刪除一條信息,這次來實現(xiàn)一下批量刪除欄目。
我們需要達(dá)到的是這樣一個效果:
選中批量刪除按鈕后可以選中所有該頁面的欄目,這個是前端頁面的實現(xiàn),在這里就不多說了,我們直接進(jìn)入正題:批量刪除的功能。
1.前端頁面這里也有一個小小的點,就是選擇框的name值應(yīng)給給他賦值為一個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ù)組轉(zhuǎn)化為以逗號分隔的字符串如:1,2,3,這樣可以直接進(jìn)行delete操作。
這就是我們dump出來options的結(jié)果,這條也是我們用來判斷刪除時是單個刪除還是批量刪除的依據(jù),如果options[where][id]是一個數(shù)組的話,則說明進(jìn)行的是批量刪除,否則就是單個刪除。
3.在模型中對刪除前構(gòu)造函數(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)寫過,不再提)
將傳過來的字符串轉(zhuǎn)化為不帶逗號的數(shù)組形式存在$arr中,建立一個空數(shù)組$sonpri,然后foreach遍歷,這里先查找出所有的子欄目id(會用childid函數(shù)),存入$sonpri2數(shù)組中 ,再將$sonpri和$sonpri2合并為一個數(shù)組,使用array_merge()函數(shù)完成,這樣我們才算是獲取到了所有子欄目的id,但是我們所獲取的id組中,會出現(xiàn)許多重復(fù)的id,所以這里我們還要進(jìn)行去重的操作,使用array_unique()函數(shù)。最后再進(jìn)行一次數(shù)組的拆分,得到id字符串,再進(jìn)行刪除就大功告成了。
以上這篇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刪除前彈出確認(rèn)框的簡單實現(xiàn)方法
- 基于ThinkPHP刪除目錄及目錄文件函數(shù)
相關(guān)文章
php利用header函數(shù)實現(xiàn)文件下載時直接提示保存
相信很多人在實現(xiàn)文件下載功能時會遇到這種情況,本意是點擊下載連接提示保存對話框,事情往往事與愿違,例如PDF這樣的文件會直接在瀏覽器中現(xiàn)實文件內(nèi)容,而不是提示保存。通過下面的方法可以解決這個問題。2009-11-11PHP strip_tags()去除HTML、XML以及PHP的標(biāo)簽介紹
這篇文章主要介紹了PHP strip_tags()去除HTML、XML以及PHP的標(biāo)簽介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02PHP實現(xiàn)將上傳圖片自動縮放到指定分辨率,并保持清晰度封裝類示例
這篇文章主要介紹了PHP實現(xiàn)將上傳圖片自動縮放到指定分辨率,并保持清晰度封裝類,涉及php針對jpeg、png、gif等格式圖片的縮放與輸出相關(guān)操作技巧,需要的朋友可以參考下2019-06-06php 記錄進(jìn)行累加并顯示總時長為秒的結(jié)果
用php如何將這些記錄進(jìn)行累加,最后顯示為一個總時長為秒鐘的結(jié)果2011-11-11