一.数据库//父类表CREATE TABLE [dbo].[types](
[id] [int] IDENTITY(1,1) NOT NULL,
[t_id] [int] NOT NULL,
[t_name] [varchar](20) NOT NULL,
PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO//子类表    CREATE TABLE [dbo].[goods_type]( [id] [int] IDENTITY(1,1) NOT NULL,
[gt_id] [int] NULL,
[gt_name] [varchar](20) NOT NULL,
[t_id] [int] NULL,
PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]二.实现菜单功能如下-女装     --耐克-男装    --耐克 耐克-首饰        --女首饰要求加载首页时全部显示。起初的思路是通过多表联查,再将结果加入到session中,结果出现父类栏两个男装,后面弄了两个集合,一个集合查询的是标题栏父类表结果,另一个是子菜单结果,结果是子菜单结果在每个父类栏出现。折腾挺久了,求大神给个思路,谢谢!

解决方案 »

  1.   

    先把需求弄明白,父类子类菜单的话,简单的 from 父类 left outer join 子类 on 子类.父ID=父类.ID 然后父类按ID去重就可以了。
      

  2.   

    你可以写两个下拉框啊,这样你父类下拉框显示,就只查一张表,子类的下拉框显示根据父类下拉框选定的id来查sql就行了啊
      

  3.   

    我要的效果是初始就全部显示,不用触发点击事件!如果初始就全部显示,那就看你用几个sql文了,要是一个就没有你要的格式了
      

  4.   

    我要的效果是初始就全部显示,不用触发点击事件!如果初始就全部显示,那就看你用几个sql文了,要是一个就没有你要的格式了
    在Struts中不知道怎么弄,第一张表我查出父类的,第二张查出子类,但是不知道怎么处理了。
      

  5.   

    我要的效果是初始就全部显示,不用触发点击事件!如果初始就全部显示,那就看你用几个sql文了,要是一个就没有你要的格式了
    在Struts中不知道怎么弄,第一张表我查出父类的,第二张查出子类,但是不知道怎么处理了。给你说一个比较笨的方法,一个sql查出父类,多个sql分别查出对应的子类,分别存到不同的list中,然后在前台foreach那些list就行
      

  6.   

    SELECT father.tid,father.t_name,son.gt_name FROM `father` left join son on father.tid = son.t_id
    GROUP BY father.tid;
      

  7.   

    select types.t_id,types.t_name,goods_type.gt_name from types left join goods_type on types.t_id = goods_type.t_id
    group by types.t_id