• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP实现批量删除栏目的方法

php 搞代码 4年前 (2022-01-22) 21次浏览 已收录 0个评论

本篇文章主要介绍ThinkPHP实现批量删除栏目的方法,感兴趣的朋友参考下,希望对大家有所帮助。

我们需要达到的是这样一个效果:

选中批量删除按钮后可以选中所有该页面的栏目,这个是前端页面的实现,在这里就不多说了,我们直接进入正题:批量删除的功能。

1.前端页面这里也有一个小小的点,就是选择框的name值应给给他赋值为一个id的数组,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('批量删除<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b><strong>搞gaodaima代码</strong>栏目失败,请重试!');   }  }else{   $this->error('未选中任何内容,请重试!');  } }

这里要将传过来的id数组转化为以逗号分隔的字符串如:1,2,3,这样可以直接进行delete操作。

这就是我们dump出来options的结果,这条也是我们用来判断删除时是单个删除还是批量删除的依据,如果options[where][id]是一个数组的话,则说明进行的是批量删除,否则就是单个删除。

3.在模型中对删除前构造函数的修改

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)");  } }

在这里我们写出批量删除的代码(单个删除之前已经写过,不再提)

将传过来的字符串转化为不带逗号的数组形式存在$arr中,建立一个空数组$sonpri,然后foreach遍历,这里先查找出所有的子栏目id(会用childid函数),存入$sonpri2数组中 ,再将$sonpri和$sonpri2合并为一个数组,使用array_merge()函数完成,这样我们才算是获取到了所有子栏目的id,但是我们所获取的id组中,会出现许多重复的id,所以这里我们还要进行去重的操作,使用array_unique()函数。最后再进行一次数组的拆分,得到id字符串,再进行删除就大功告成了。

相关推荐:

PHP实现批量删除jQuery操作的方法

ThinkPH实现批量删除栏目代码分享

PHP批量删除jQuery实例代码

以上就是ThinkPHP实现批量删除栏目的方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP实现批量删除栏目的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址