关于多对多联动的问题 一种产品可以有多个品牌在生产,一个品牌又能生产多种产品,不同品牌间生产同类产品。简而言之,产品与品牌是多对多的关系。若然我需要在页面上的2个<select>内联动输出产品和品牌,有什么好办法吗?数据库表应该怎么建立?页面又如何联动读取数据呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很简单,对于多对多的关系,一般需要建立关联表.1 数据库品牌表 品牌id,xxx 关联表 品牌id ,产品id产品表 产品id,xxx2 页面联动,应用ajax来做. <select id='a1' onchange='xxx();'> </select> <select id='a2' onchange='xxx1();'> </select> 每个下拉框变化,都要触发onchange函数,向后台获取数据,以更新另一个下拉框.3 无论怎么样,不可能无限制的触发,只能有一主一从. 主决定从,这是必须的. 多级联动 只要表和表有所关联!AJAX写的东西还好吧! 建议JQ写的!其实很好写的 http://blog.csdn.net/t240034137/archive/2009/12/17/5026243.aspx ajax可以实现,我的博客里有个例子 我明白你的意思,其实也个想法我也会做。只不过建立一个关联表后,一会产生不少冗余数据,二会产生有大量行记录。要知道这世界上品牌多不胜数,产品种类更不可斗量你说的联动的方法我也能写出来,但是如我上面所说,要是在onchange或者jquery的change事件触发后才去查询数据量如此庞大的表,那客户的体验效果是如何的可以想象了吧?当然,可以说把change才出发改成导入页面就触发或者在某种情况下预先异步触发,效果可能会好些。但实际上我想向大家请教的重点不是在怎么实现联动上而是在怎么建立好这个多对多的关系上,然后再考虑联动的问题。 我不认为,关联表的数据是冗余数据,反之,这是最能表达两个表多对多关系的最好方法.至于大量的行记录也无可厚非,关联表,都是int类型,并不会占多大空间. 数据库多对多关系的建立,一般是jakey说的那种了。 另外我还想问,关联表中的品牌id 产品id是否要设为外键?若不需要,那么如何保持id的一致性? 关联表一个主键id, 品牌id, 和产品id, 用他们表的主键就可以了如 -- 关联表(id, pid, aid) php mecache进行访问量的判定。做秒杀,进来探讨下! 求PHP脚本检测MYSQL版本 为什么我的网站用css+DIv做好后点下页上一页就变形了 为什么用户名输入大小写都可以进去啊?怎么判断啊? 什么报错啊 请大家师傅看一下 关于PHP 读取EXCEL时间(不是日期)的问题 40分求解 zend framework的问题! phpcms的版权如何更改? 帮忙推荐几本php教程 怎样进行js嵌套? 在SQL搜索多个table的问题~~~大家帮忙看看 请教php高手
1 数据库
品牌表 品牌id,xxx
关联表 品牌id ,产品id
产品表 产品id,xxx
2 页面联动,应用ajax来做.
<select id='a1' onchange='xxx();'>
</select>
<select id='a2' onchange='xxx1();'>
</select>
每个下拉框变化,都要触发onchange函数,向后台获取数据,以更新另一个下拉框.
3 无论怎么样,不可能无限制的触发,只能有一主一从.
主决定从,这是必须的.
AJAX写的东西还好吧! 建议JQ写的!
其实很好写的
我明白你的意思,其实也个想法我也会做。只不过建立一个关联表后,一会产生不少冗余数据,二会产生有大量行记录。要知道这世界上品牌多不胜数,产品种类更不可斗量
你说的联动的方法我也能写出来,但是如我上面所说,要是在onchange或者jquery的change事件触发后才去查询数据量如此庞大的表,那客户的体验效果是如何的可以想象了吧?当然,可以说把change才出发改成导入页面就触发或者在某种情况下预先异步触发,效果可能会好些。但实际上我想向大家请教的重点不是在怎么实现联动上而是在怎么建立好这个多对多的关系上,然后再考虑联动的问题。
至于大量的行记录也无可厚非,关联表,都是int类型,并不会占多大空间.
关联表一个主键id, 品牌id, 和产品id, 用他们表的主键就可以了如 -- 关联表(id, pid, aid)