无限极分类说简单点就是一个类可以分成一个分子类,然后一个子类又可以分另一个子类这样无限分下去,就是好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一个文件夹,PHP要实现无限极分类有两种常用的做法,递归和引用算法.
数据表(两种实现方式都是一样的数据表):
建数据表的时候,增加一个字段(一般用pid作为字段名)用来区别自己所属的分类,字段值为其父级的主键id,0为一级分类.
1.引用算法:
(1)获取一级分类
获取pid为0的数据,返回给模板,循环展示.
循环展示新增id属性,其值为刚从后台返回来的数据的id
(2)获取二级分类
把id传给后台,获取pid=id的数据
再把数据(包括id)返回给模板,循环展示.
(3)获取n级分类
id属性其值为刚从后台返回来的数据的id,
把id传给后台
如果还有分类,操作就是同理了,简而言之,除获取一级分类外,每次获取的pid为数据的id.
总结:其实除获取一级分类外,每次获取的pid都引用当前数据id值.
2.递归算法
原文地址:https://www.cnblogs.com/fantianlong/p/10739777.html
时间: 2024-11-11 23:13:31