有个项目,要求一个产品可有N个属性,用于产品筛选。
参照京东:http://www.360buy.com/products/670-671-672-0-0-0-0-0-0-0-1-1-1.html在:“笔记本 - 商品筛选”下有着几个属性,如品牌、价格、尺寸等,按此理解,理论上每个产品都须以上字段记录或标签。刚开始我以为是使用固定字段来设定产品属性,但想想不对,这个属性应是可无限增减才对,不大可能是用固定字段的,看此属性下还有个“高级搜索”。又想可不可以用tag的方式来实现呢?可如何设计却没个思路,烦请有经验的朋友指点一下,谢谢!项目是PHP+MYSQL环境。

解决方案 »

  1.   

    你这个要做到管理属性了比如说:
      属性列表: 1 .电脑属性, 2.手机数码属性,3.日用品属性
       电脑属性 :1.cpu,内存,硬盘,..... 可以对电脑属性进行增加和修改.
       手机数码属性:1.品牌,样式,价格...
      就是有个大的属性..规定是什么商品有的...
    然后你对着你选的属性...进行商品添加.
    ecshop 和 magento opencart 都是这样来管理的...
    因为你不知道客户需要什么属性..什么属性不要.. 而且这样做 你也好做对比...
       
      

  2.   

    表1,保存商品类型,比如手机,笔记本……
    表2,保存各个类型的所有属性,比如笔记本的品牌、屏幕尺寸、质量……
    表3,保存商品ID、表2ID、对应的值如果你就一种商品,比如就卖手机,我看固定字段设置产品属性,也无妨啊?
    ===============乱说一气,抛砖引玉
      

  3.   


    似乎是这个意思,ecshop好像是开源的,我去下个学习下。
      

  4.   

    我是这样来理解1楼的:字段类型为text;
    内容例如 笔记本 的属性字段 Property:品牌:HP,DELL,LENOVO;三星;屏幕:11,14.1,15.4;价格:1-2999,3000-3999,3999-5999;显卡:集成,独立;$Property=array_chunk(array($Property));这样之类的来解决吧? 存为数组,再分割; 新手献丑
      

  5.   

    要多建立一个属性类型表及属性内容表。
    去看看ecshop就知道了。就是你的这个功能
      

  6.   

    商品属性表:
    cid  子分类id
    pid  属性id
    name 属性名字  比如 颜色
    parent_id  父属性id
    其他属性
    属性值表
    vid  属性值id
    pid  属性id 
    value 属性值 比如黑色
    其他属性
    自己的一点想法 仅供参考
      

  7.   

    属性类别做个master表
    类似
    key comment
    1    属性1
    2    属性2在你具体的商品表上加一列属性,里面存上"1,2,3"这些个属性id即可 
    就是2L的说的,不知道lz还想问什么
      

  8.   

    关于如何保存产品的属性,这是一个永久的话题。不可能用一两个简单的方法就解决了的在数据库层面有“元数据库”来描述这个问题,每个产品就是一个“元数据”。
    遗憾的是,快十年了,也只有oracle对他有较好的支持。一些已经支持 xml 类型字段的数据库,还有所欠缺。作为折中的方案,在 php+mysql 环境中,我们可用 text 类型来保存某种“易查”结构的属性数据集
    而这个结构就是由 php 的 var_export 函数产生的“变量的字符串表示”
    可以结合 mysql 正则表达式,很容易的进行查询