项目思路分析:一个PHP项目要用到分类,但不确定分几级,所以就想做成无限级分类。
一开始想是按以前一样,数据库建4个值,如下:
id: 自增 | pid: 父类ID | xid: 排序ID | classname: 分类名称
后来想到这种在读取数据时和修改时比较不方便,而且在产品读取时尤其不便,于时改成了以下的方案:
在Mysql的表中新增了一个字段,现数据库如下:
表名 w_faqclass: id: 自增 | pid: 父类ID | xid: 排序ID | classname: 分类名称 | rank: 等级
定义:
一级分类,pid 为 0 ,rank 为"/"
二级分类,pid 为 一级分类的id,rank 为"/一级分类的id/"
三级分类,pid 为 二级分类的id,rank 为"/一级分类的id/二级分类的id/"
依此类推...
1. 基础函数
/*
利于递归返回已经进行了排序的无限级分类的数组
不想用递归的话也可以用 like 来获取后再进行排序,我比较懒,就不写那种获取方式了,其实用 like 更好。
2. 增加分类 (直接做到了select中用于选择 )
3. 修改分类
/*
注意,因为是修改,在此页面加载时已将当前分类的所有值读出来了,对应是:$pid,$rank
*/
4. 删除和查询就简单了,这个就不赘述了,提到一点,记得在删除前确认下该类下面是否存在子类就可以了。以上就是php+mysql实现无限极分类的方法,希望对大家的学习有所帮助。
公司地址:西安市经开区凤城四路西安国际企业中心B座23层06-10室
7*24小时售前咨询电话:02989390727
7*24小时售后服务电话:02989390727
售后微信
售前电话
02989390727
微信公众号
返回顶部