+ -
当前位置:首页 → 问答吧 → 【菜鸟求助】这样的三级联动菜单如何实现

【菜鸟求助】这样的三级联动菜单如何实现

时间:2008-09-19

来源:互联网

数据库mysql
CREATE TABLE `stock` (
`id` int(5) NOT NULL ,
`id_1` int(5) NOT NULL ,
`name_1` varchar(10) NOT NULL default '',
`id_2` int(5) NOT NULL,
`name_2` varchar(10) NOT NULL default '',
`id_3` int(5) NOT NULL,
`name_3` varchar(10) NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
-----------------------------------------
数据
INSERT INTO `stock` VALUES (1,1, 'a', '1', 'aa', '1', 'aaa');
INSERT INTO `stock` VALUES (2,1, 'a', '1', 'aa', '2', 'bbb');
INSERT INTO `stock` VALUES (3,1, 'a', '1', 'aa', '3', 'ccc');
INSERT INTO `stock` VALUES (4,1, 'a', '2', 'bb', '4', 'aaa2');
INSERT INTO `stock` VALUES (5,1, 'a', '2', 'bb', '5', 'bbb2');
INSERT INTO `stock` VALUES (6,1, 'a', '2', 'bb', '6', 'ccc2');
INSERT INTO `stock` VALUES (7,2, 'b', '3', 'cc', '7', 'aaa3');
INSERT INTO `stock` VALUES (8,2, 'b', '3', 'cc', '8', 'bbb3');
INSERT INTO `stock` VALUES (9,2, 'b', '4', 'dd', '9', 'aaa4');

没有联动的菜单如下
复制PHP内容到剪贴板
PHP代码:



作者: 03112   发布时间: 2008-09-19

用户被禁言,该主题自动屏蔽!

作者: sinxyz   发布时间: 2008-09-19

3级联动要从数据库的设计开始改起

作者: kaobo   发布时间: 2008-09-19

我现在可以实现第一级菜单更新后,2、3级菜单改变,但是2级菜单更新后,3级菜单不变,我想实现的功能是,第一级菜单更新后,2、3级对应更新,2级菜单更新后,3级菜单再更新一次
比如:
①1级菜单为a时,2级下拉菜单为aa、bb,3级下拉菜单为aaa、bbb、ccc、aaa2、bbb2、ccc2 
②1级菜单为a,2级菜单为bb时,3级下拉菜单为aaa2、bbb2、ccc2
望哪位大侠指点一下

作者: cuolove   发布时间: 2008-09-19

都在一个表里面不行吗?其实mysql里的表是根据csv读入的,csv是固定的,只能到一个表中
请问如果改的话,要怎么改呢,分别到3个表中吗?麻烦在说的详细一点,谢谢

作者: Ir.Chuh   发布时间: 2008-09-19

顶上去,哪位帮忙看看,之前用js和php只做出一部分,但是出来的功能只能在ie下运行,firefox下不支持 ,好像需要用ajax,但是ajax我是完全不清楚该怎么写,网上搜了些代码,也都测试不成功=700) window.open('http://bbs.phpchina.com/images/smilies/default/mad.gif');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" > ,希望哪位大侠给个简单的代码,感激不尽=700) window.open('http://bbs.phpchina.com/images/smilies/default/sad.gif');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" >

作者: zd052   发布时间: 2008-09-19

理论上来说 联动菜单要时间的只是 1-2联动 2-3联动。。。。
对于'1'变化而影响'2'、'3'变化这个问题来说,我们可以把他们分开来看
'1'变化会直接影响'2'变化 同时触发2-3联动的动作就可以了
本着这个想法去做可以从一定程度上介绍程序的逻辑复杂度,而具体的如何去做就是仁者见仁智者见智了。
例如:
.....
......
......


依此类推后面不管有多少级都可以这样做下去

作者: lzzsgsb   发布时间: 2008-09-19

顶上去,这几天一直在弄这个都没弄出来,依然是卡在二三级联动的地方,在网上查了很多资料,下面的代码可以实现我想要的功能,但是tMenu =[[["aaa","bbb","ccc"],["aaa2","bbb2","ccc2"]],[["aaa3","bbb3"],["aaa4"]]]这个三维数组要从表中自动生成,可我弄了几天都没出来, 请大家帮帮忙,指点指点php怎样将mysql数据库表中数据生成多维数组啊,可以的话能不能给个例子,将一楼数据表生成=700) window.open('http://bbs.phpchina.com/images/smilies/default/28.gif');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" >tMenu =[[["aaa","bbb","ccc"],["aaa2","bbb2","ccc2"]],[["aaa3","bbb3"],["aaa4"]]]这样一个三维数组,感激不尽
复制PHP内容到剪贴板
PHP代码:


三级联动






作者: 天使别哭   发布时间: 2008-09-19

用户被禁言,该主题自动屏蔽!

作者: wx8052   发布时间: 2008-09-20

热门下载

更多