全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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('批量删除栏目失败,请重试!');
   }
  }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字符串,再进行删除就大功告成了。

以上这篇ThinkPHP删除栏目(实现批量删除栏目)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# ThinkPHP删除栏目  # Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例  # Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解  # tp5(thinkPHP5框架)使用DB实现批量删除功能示例  # thinkPHP利用ajax异步上传图片并显示、删除的示例  # ThinkPHP框架实现用户信息查询更新及删除功能示例  # 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能  # thinkphp框架实现删除和批量删除  # thinkPHP删除前弹出确认框的简单实现方法  # 基于ThinkPHP删除目录及目录文件函数  # 的是  # 在这里  # 给大家  # 转化为  # 值为  # 组中  # 是一个  # 也有  # 给他  # 说了  # 这就是  # 遍历  # 不多  # 请重试  # 这条  # 希望能  # 这样一个  # 大功告成  # 可以直接  # 要将 


相关文章: 如何获取上海专业网站定制建站电话?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  建站之星云端配置指南:模板选择与SEO优化一键生成  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  建站之星如何快速解决建站难题?  如何通过虚拟主机快速完成网站搭建?  南平网站制作公司,2025年南平市事业单位报名时间?  如何通过VPS建站无需域名直接访问?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何选择可靠的免备案建站服务器?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  行程制作网站有哪些,第三方机票电子行程单怎么开?  山东网站制作公司有哪些,山东大源集团官网?  Python如何创建带属性的XML节点  深入理解Android中的xmlns:tools属性  建站主机如何选?性能与价格怎样平衡?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  盘锦网站制作公司,盘锦大洼有多少5G网站?  如何自定义建站之星网站的导航菜单样式?  如何挑选高效建站主机与优质域名?  PHP正则匹配日期和时间(时间戳转换)的实例代码  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  建站主机解析:虚拟主机配置与服务器选择指南  如何在IIS服务器上快速部署高效网站?  建站之星上传入口如何快速找到?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  如何在Golang中引入测试模块_Golang测试包导入与使用实践  建站10G流量真的够用吗?如何应对访问高峰?  全景视频制作网站有哪些,全景图怎么做成网页?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何彻底删除建站之星生成的Banner?  宁波自助建站系统如何快速打造专业企业网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  Java解压缩zip - 解压缩多个文件或文件夹实例  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站之星代理商如何保障技术支持与售后服务?  ,有什么在线背英语单词效率比较高的网站?  企业微网站怎么做,公司网站和公众号有什么区别?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  建站主机核心功能解析:服务器选择与网站搭建流程指南  网站制作公司排行榜,抖音怎样做个人官方网站  如何正确选择百度移动适配建站域名?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  建站之星代理如何优化在线客服效率?  如何有效防御Web建站篡改攻击?  如何续费美橙建站之星域名及服务?  建站之星备案流程有哪些注意事项?  建站之星官网登录失败?如何快速解决? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。