下图中红色箭头是父类 而且属于根目录级别。
下面个字段为:ID 父ID 类型名称 深度 排序
前面3个字段没有什么可解释的,做过无限级分类设计的人都应该清楚
而第5个字段排序字段ID:43的23排序代表他在这张表排在23的根目录
而23下面的23,01 说明他是2级分类,排在23下面的第01个,也是支持99级分类。
而我比较特殊的是多了个深度字段,大家可以看上图数据,
ID:40的 深度字段也是40,ID:43的 深度字段也是43。
而他们的下级子类,后面都跟了个 "," 加自己的ID。
2级子类的深度字段就是(父类ID,自己ID),以此类推,3级分类深度就是(总父类ID,上级父类ID,自己ID),后面不用说了吧。
看到这里可以在看看上面的图,因为我这个网站程序,只有2级分类而已。
当然还有中间那个 "," 完全可以自己用自己喜欢的字符 你用 "|" "-" "_"一切字符都可以 但是建议一定要有个字符。
是因为在程序里好分割开来,而且也很直观,完全可以自己在数据库修改分类数据(因为网站分类一般定了很少改动,第一次完全可以在数据库中加上所有分类)
谈到这里,在来说说这个字段有什么功能和好处,咋一看这个字段好象很浪费资源,下面听我细细道来:
在行业门户网站里经常有这样的需求,需要查出某个分类下的所有子分类,如果没有这个字段的话,
那查出下面的所有字分类,SQL语句就应该要很长了,或者使用递归:根据1级父类ID查出所有2级分类--根据2级分类ID--查出所有3级分类,如果有多级分类的话,这样的递归效率可想而知。
如果有这个字段(并且数据已对应加好),一切就变得美好多了,让你很轻松就能查出某个分类下所有的子类,下面看个图:
时间: 2024-12-24 00:49:59