关于ASP循环显示记录的问题,头疼,高分求助,大家帮帮我.在线等~急~~~~~!!!!!!

sessisn 2009-09-02 10:56:30
数据库里有两个表,分别为:

表1 表2
------------------------------------------------ ---------------------------------------------
Name IsMenu aType_1 aType_2 Title bType_1 bType_2
------------------------------------------------ ---------------------------------------------
菜单1 1 1 null 显示内容_1 1 1
菜单1的子菜单1 0 1 1 显示内容_2 1 3
菜单1的子菜单2 0 1 2 显示内容_3 1 3
菜单1的子菜单3 0 1 3 显示内容_4 1 3
菜单2 1 2 null 显示内容_5 1 2
菜单2的子菜单1 0 2 1 显示内容_6 1 3
菜单2的子菜单2 0 2 2 显示内容_7 1 2
菜单2的子菜单3 0 2 3 显示内容_8 1 2
菜单2的子菜单4 0 2 4 显示内容_9 1 1
菜单2的子菜单5 0 2 5 显示内容_10 1 1
显示内容_11 1 2
显示内容_12 1 2
显示内容_13 1 2
----------------------------------------------------------------------------------------------------


表1.aType_1 <-----> 表2.bType_1 表1.aType_2 <-----> 表2.bType_2


程序怎么写可以实现如下效果:
----------------------------------------------------------------------------------------------------
菜单1的子菜单1
显示内容_1
显示内容_9
显示内容_10
菜单1的子菜单2
显示内容_5
显示内容_7
显示内容_8
显示内容_11
显示内容_12
显示内容_13
菜单1的子菜单3
显示内容_2
显示内容_3
显示内容_4
显示内容_6

----------------------------------------------------------------------------------------------------

如果我描述的不清楚请与我QQ联系.高分相报!QQ:78054,在线等,急~~~~~~~
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
spirit888 2009-09-02
  • 打赏
  • 举报
回复
直接打代码给你,一试就知道了
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%
Set rs = Server.CreateObject("ADODB.Recordset")
SqlRs="select * from 表1 where IsMenu = 0 and aType_1 = 1 order by id Desc"
rs.Open SqlRs, Conn, 1
For iRs = 1 to rs.Recordcount
if rs.EOF then
Exit For
end if
aType_1 = rs("aType_1")
aType_2 = rs("aType_2")
%>
<tr>
<td><%=rs("Name")%></td>
</tr>
<%
Set rsA = Server.CreateObject("ADODB.Recordset")
SqlRsA="select * from 表2 where bType_1 = "&aType_1&" and bType_2 = "&aType_2&" order by id Desc"
rsA.Open SqlRsA, Conn, 1
For iRsA = 1 to rsA.Recordcount
if rsA.EOF then
Exit For
end if
%>
<tr>
<td><%=rsA("Title")%></td>
</tr>
<%
rsA.MoveNext
next
%>
<%
rs.MoveNext
next
%>
</table>
sumjor 2009-09-02
  • 打赏
  • 举报
回复
select * from 表1 left join 表2 on aType_1 = bType_2
这样试试
sessisn 2009-09-02
  • 打赏
  • 举报
回复
你加我QQ吧,我把代码发你QQ上你帮我看一下好吗?
mailbao 2009-09-02
  • 打赏
  • 举报
回复
原理:

先循環你要顯示的子菜單名稱

然後在上面的循環裏面嵌套sql取出的Title循環,這個要加上你的查詢條件,即
假如你的子菜單的值為 menuName=rs("Name")
sql="select b.Title from 表1 as a inner join 表2 as b on a.aType_1=b.bType_1 and a.aType_2=b.bType_2 where a.Name="&menuName&" order by b.Title ASC"
sessisn 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mailbao 的回复:]
關鍵問題在於寫好一條sql語句即可
sql="select b.Title from 表1 as a inner join 表2 as b on a.aType_1=b.bType_1 and a.aType_2=b.bType_2 order by b.Title ASC"

然後將查出來的b.Title放進循環語句中取出來即可得到你想要的內容!
[/Quote]

能否再具体一点?现在程序这段程序把我整的脑袋很乱,三天了,头都快炸了~谢谢了!!!我现在真的挺急的,不知道该怎么办!
mailbao 2009-09-02
  • 打赏
  • 举报
回复
如果是根據不同的子菜單名稱來進行查詢,在sql後面加上查詢條件where a.Name=.....
mailbao 2009-09-02
  • 打赏
  • 举报
回复
關鍵問題在於寫好一條sql語句即可
sql="select b.Title from 表1 as a inner join 表2 as b on a.aType_1=b.bType_1 and a.aType_2=b.bType_2 order by b.Title ASC"

然後將查出來的b.Title放進循環語句中取出來即可得到你想要的內容!
wtg321 2009-09-02
  • 打赏
  • 举报
回复
也可以试一下这个语句:
sql="select a.name ,b.Title from 表1 as a left join 表2 as b on a.aType_1=b.bType_1 and a.aType_2=b.bType_2 order by aType_2 ,b.Title ASC"
循环输出看一下结果是不是你想要的.
wtg321 2009-09-02
  • 打赏
  • 举报
回复
简写一下:
Set rs1 =...
Sql1="select * from 表1 where IsMenu = 1 order by a_type_1"
rs1.Open Sql1, Conn, 1
do while not rs1.eof
set rs2=..
sql2="select * from 表1 where aType_1="&rs(ismenu)&" and ismenu<>1 orderby aType_2"
rs2.open.........
do while not rs2.eof
set rs3=...
sql3="select * form 表2 where bType_1 ="&rs(ismenu)&" and bType_2="&rs2(aType_2)&" orderby title"
rs3.open...
do while not rs3.eof
...
rs3.movenext
loop
rs2.movenext
loop
rs1.movenext
loop

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧