php tp框架做选中删除,PHP框架之ThinkPHP模块开发系列八,无限级分类的删除

在此现更正一下之前的预告,之前忘记了先应该把无限级分类栏目列表功能做完,也就是删除功能还没做,所以今天我们先做删除,下一节再做面包屑导航。非常抱歉。

同时,不知道是什么原因,上一节文章审核了7个多小时才审核通过,如果没有看到上一节的请点击浏览:PHP框架之ThinkPHP模块开发系列七,无限级分类2,无限级分类的格式化显示

下面正式开始我们的删除功能的制作

删除

基本思路:

完善cate.html,增加删除链接地址,如图:

db9283a444fa97040a3148b2d3d085c4.png

链接地址

代码解释:

__CONTROLLER__为当前控制器,即CategoryController控制器。

Del为当前控制器中的删除方法。

Id为以id为参数进行传值。

{$vo.id}为传递的id的值。

构建del方法

接着我们打开CategoryController.class.php,在此控制器内新建删除方法del,并接收id参数,根据id的值进行删除操作。代码如图:

47d530c228b9990e89c60162956b231f.png

删除方法

构建子分类删除方法

Thinkphp有一个很实用的钩子函数,我们利用此函数进行子栏目删除操作。我们在CategoryModel.class.php新建一个删除前的钩子函数:_before_delete,再利用递归方法实现子栏目的删除。

代码如图:

c460779a977e98f95b5d1666541faf39.png

opition参数。我们可以利用var_dump方法,打印出opition,来详细了解其数据结构。

第一步,我们先在钩子函数_before_delete中写入var_dump($opition);die;

3b920430cab00b2a7fbfc0183ec79bfa.png

打印操作

第二步,然后在浏览器中点击删除河北按钮,显示如图:

beeae43e587d89be86cfa8dd892ce402.png

打印出的数据

当我们点击删除的河北省的时候,其会先获取河北省的id等相关数据。它是一个二维数组,我们需要的是数组中的ID值。我们根据获取到的id,利用递归方法(deltree)查找它下面是否还有子栏目,如果有就将符合条件的数据的id存入到静态数组arr中,并返回出去,然后利用php函数中的implode函数,将arr数组中的id,以“,”形势分割,并存入ids中,如果ids不为空,则执行删除操作。

这里需要特别说明的是,在model层,必须写原生态的PHP语句。

最后我们删除var_dump($opition);die;把钩子函数_before_delete恢复到原始状态

在浏览器中输入:http://localhost/tp3/admin.ph...,然后点击“美国”一栏中的删除,此时会同时删除美国下的纽约。同时mysql数据库中也会删除相关数据。

至此,无限级分类的删除功能操作完毕。

喜欢的话,可以关注我们。如有疑问可以留言,我们会第一时间进行反馈。感谢!

本文由头条号“生命一路前行”原创,由甲爪日付广告联盟(www.jiazhua.com)整理编辑!转载请注明!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值