有个工作项目,要求的产品分类跟阿里巴巴的方式相似,但观察了下它的流程有些不明白来请教下高人。 像它这种方式: 
供应首页 > 卫浴洗漱日化用品 > 美发造型用品 > 洗发水 
http://list.china.alibaba.com/buyer/offerlist/1041075.html 比如一瓶“海飞丝洗发水”,在点以上的三个类别它都会出现在列表里,这样是用什么方式做到的呢? 依我的肤浅理解,它的类别应是多级分类,可就是想不通当在发布“海飞丝洗发水”时,它的所属类别ID是什么呢,难道是在同一字段里存储多个类ID吗?比如(1,3,5...),如果是的话它又如何查询结果呢? 项目是PHP+MYSQL环境,请各位有经验的朋友指点一下,谢谢! 
另谁有效率较高的N级分类例子参考一下吗?我现在使用的是递归方式,感觉效率很不好。

解决方案 »

  1.   

    1 卫浴洗漱日化用品 > 美发造型用品 > 洗发水
    这三个类,从左到右是继承关系,洗发水是这个关系的最小的类.
    2 发布“海飞丝洗发水”的时候,当然是选择洗发水这个类,原因同上.
    3 现在分类,一直通用两种方式,一种是递归查询归属关系,一是在最终产品包含所有相关分类的信息.
      

  2.   

    支持一下,我的想法是一个产品可以所属几个分类,就当是这个产品的属性,例如
    p1.c1="aa"
    p1.c2="bb"
      

  3.   

    可以用tag, 更灵活 参见wordpress
      

  4.   

    tag恐难实现,毕竟类别有着子属关系的。