复杂的表设计问题,不知道要怎么设计好点呢 用户表A 产品大类表B产品小类表C要让每个用户都可以更改选择自己的产品(到小类产品为止) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 category表CategoryId(分类ID),CategoryIdP(父分类ID),CategoryName(分类名称)备注:categoryIdP为空的是一级分类user表user的相关信息字段,然后加一个,CategoryId(分类ID)->记录选择的分类号码 比如大类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下面的……小类的产品是属于大类里面的,大类不可以包括大类的。用户选择的时候可以任意选择大类或小类的,也没有上限不知道各位大哥有没有理解? 谢谢panzhiqi() 。不过我这个父类A表,子类B表都已经设计好了呀,只是现在要加个用户选择的功能 你到底想怎么选择呢?选择到哪里?如果想制作的好一点,就得使用javascript和php配合产生的一些程序了。不然直接使用ajax 既然原来的表结构无法改动那么方案一:建一个新表: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 为大类,否则为小类)(也可以修改小类表也是一样效果) 在方案二的基础上修改一下:建一个新表:id(自动编号) userid(用户id) bid(大类id) aid(小类id) creatTime (记录时间)如果只选择大类,则小类ID为0否则就不用说了!呵呵 新人求助 PHP正则匹配,修改! 一个小问题 simplexml如何通过属性删除指定节点 一个很怪的PHP问题求助 紧急求救!!!!!!!!!!!!! 寻求一段日历的代码!再线等! 高分求载取繁体中文和简体中文的函数。 explode()问题 我把表单的一些复选 框用一个名字来命名,但是, mysql 正则问题(高手进) PHP导入XML数据过程中,手动中断?高手请进?
CategoryId(分类ID),CategoryIdP(父分类ID),CategoryName(分类名称)
备注:categoryIdP为空的是一级分类user表
user的相关信息字段,然后加一个,CategoryId(分类ID)->记录选择的分类号码
大类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下面的
……
小类的产品是属于大类里面的,大类不可以包括大类的。
用户选择的时候可以任意选择大类或小类的,也没有上限不知道各位大哥有没有理解?
既然原来的表结构无法改动那么方案一:建一个新表:
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 为大类,否则为小类)(也可以修改小类表也是一样效果)
否则就不用说了!呵呵