用户表A   产品大类表B
产品小类表C要让每个用户都可以更改选择自己的产品(到小类产品为止)

解决方案 »

  1.   

    category表
    CategoryId(分类ID),CategoryIdP(父分类ID),CategoryName(分类名称)
    备注:categoryIdP为空的是一级分类user表
    user的相关信息字段,然后加一个,CategoryId(分类ID)->记录选择的分类号码
      

  2.   

    比如
    大类A表
    (aid,name)
       1   A
       2   B
       3   C
    ……
    小类B表
    (bid,aid,name)
       1   1   Aac    //这是属于大类A下面的
       2   2   Bads   //这是属于大类B下面的
       3   1   Caasd  //这是属于大类A下面的
    ……
    小类的产品是属于大类里面的,大类不可以包括大类的。
    用户选择的时候可以任意选择大类或小类的,也没有上限不知道各位大哥有没有理解?
      

  3.   

    谢谢panzhiqi() 。不过我这个父类A表,子类B表都已经设计好了呀,只是现在要加个用户选择的功能
      

  4.   

    你到底想怎么选择呢?选择到哪里?如果想制作的好一点,就得使用javascript和php配合产生的一些程序了。不然直接使用ajax
      

  5.   


    既然原来的表结构无法改动那么方案一:建一个新表:
    id(流水号) userid(用户id)  flag(1为大类,0为小类)  cid(类id,可为大类或小类)
    方案二:建一个新表:
    id(流水号) userid(用户id)  bid(大类id)  aid(小类id)  
       (bid和aid必有一个为0,另一个不为0 )
    方案三:建两个新表:
    id(流水号) userid(用户id)  bid(大类id)id(流水号) userid(用户id)  aid(小类id)  方案四:
    修改原表中数据(如果可能)
    比如
    修改产品大类表B中id使其全部加上1000000(或更大,保证可预见的将来,小类id不会增长到这个数),注意相关表需要同时修改,可能部分代码需要更改。
    成为: 大类A表 
    (aid,name)
       1000001   A
       2000001   B
       3000001   C 同时增加一个表
    id(流水号) userid(用户id)  cid(类id,>1000000 为大类,否则为小类)(也可以修改小类表也是一样效果)
      

  6.   

    在方案二的基础上修改一下:建一个新表:id(自动编号) userid(用户id)  bid(大类id)  aid(小类id)  creatTime (记录时间)如果只选择大类,则小类ID为0
    否则就不用说了!呵呵