欢迎来到至成科技_西安服务器托管_西安服务器租用_西安域名注册
029-89390727
时间:2018-05-02  来源:至成科技  作者:SEOR  点击次数:462

项目思路分析:一个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实现无限极分类的方法,希望对大家的学习有所帮助。


西安网站建设-至成科技光放微信
陕西本土非营利性IDC互联网接入商/  Shanxi Local nonprofit IDC Internet access provider

公司地址:西安市经开区凤城四路西安国际企业中心B座23层06-10室

全国咨询热线(TEL): 029-89390727

7*24小时售前咨询电话 :
029-89390727   029-63390892   029-63390961
029-68090209

7*24小时售后服务电话 : 029-89393039

Top