(ASP)循环嵌套问题
我想让查询结果显示在一个表格里。表格内容按小组号排序,然后在每个小组号所对应的行里依次显示该小组成员。这就涉及到了一个循环嵌套的问题,总是出错,大家帮我分析一下原因并请告...
我想让查询结果显示在一个表格里。表格内容按小组号排序,然后在每个小组号所对应的行里依次显示该小组成员。这就涉及到了一个循环嵌套的问题,总是出错,大家帮我分析一下原因并请告诉我如何改,谢谢。
代码大致如下:
<%
set rs1=sever.createobjiect(adodb.recordset)
exec="select * from table1 order by zu"
rs1.open exec,cn,1,1
for recordnums=1 to rs1.pagesize
%>
<table>
<tr><td><%=rs1("zu")%></td>
<%set rs2=sever.createobjiect(adodb.recordset)
sql="select * from table2 where zu='"&rs1("zu")&"'"
rs2.open sql,cn,1,1
for recordnums=1 to rs2.pagesize %>
<td><%=rs2("yg_name")%></td></tr>
<%rs2.movenext
if rs2.eof or rs2.bof then
exit for
end if
next%>
</table>
<%
rs1.movenext
if rs1.eof or rs1.bof then
exit for
end if
next
%>
系统总提示第二个循环控制变量FOR无效
adodb.recordset两边带双引号的,我漏了。还有for recordnums=1 to rs1.pagesize 这句应放在<table>下,因为是自己的现打的,代码可能不太规范,大家不用挑这个毛病,关键把如何实现的思想告诉我。有明确代码那就更感谢了。 展开
代码大致如下:
<%
set rs1=sever.createobjiect(adodb.recordset)
exec="select * from table1 order by zu"
rs1.open exec,cn,1,1
for recordnums=1 to rs1.pagesize
%>
<table>
<tr><td><%=rs1("zu")%></td>
<%set rs2=sever.createobjiect(adodb.recordset)
sql="select * from table2 where zu='"&rs1("zu")&"'"
rs2.open sql,cn,1,1
for recordnums=1 to rs2.pagesize %>
<td><%=rs2("yg_name")%></td></tr>
<%rs2.movenext
if rs2.eof or rs2.bof then
exit for
end if
next%>
</table>
<%
rs1.movenext
if rs1.eof or rs1.bof then
exit for
end if
next
%>
系统总提示第二个循环控制变量FOR无效
adodb.recordset两边带双引号的,我漏了。还有for recordnums=1 to rs1.pagesize 这句应放在<table>下,因为是自己的现打的,代码可能不太规范,大家不用挑这个毛病,关键把如何实现的思想告诉我。有明确代码那就更感谢了。 展开
2个回答
展开全部
问题1: order by zu => order by zu desc ;倒序排列
问题2: 两个表可以联合查询
"select * from table1 inner join table2 on table1.zu = table2.zu order by tabl1.zu desc";
取得记录集用 rs("表名.字段名")这样的形式来获取
例如rs("table1.zu"),rs("table2.yg_name")
问题3:循环:
for recordnums=1 to rs1.pagesize
...
for recordnums=1 to rs2.pagesize //这里肯定不对recordnums重复了
...
如果不是要分页显示,不要使用pagesize,
<table>
<%
i=0
while not rs.eof and i < 10
%>
<tr>
<td><%=rs("table1.zu")%></td>
<td><%=rs("table2.字段1")%></td>
<td><%=rs("table2.字段2")%></td>
<td><%=rs("table2.字段3")%></td>
...
</tr>
<%
i++
rs.movenext
wend
%>
</table>
是这个意思吗,没有必要多层循环
问题2: 两个表可以联合查询
"select * from table1 inner join table2 on table1.zu = table2.zu order by tabl1.zu desc";
取得记录集用 rs("表名.字段名")这样的形式来获取
例如rs("table1.zu"),rs("table2.yg_name")
问题3:循环:
for recordnums=1 to rs1.pagesize
...
for recordnums=1 to rs2.pagesize //这里肯定不对recordnums重复了
...
如果不是要分页显示,不要使用pagesize,
<table>
<%
i=0
while not rs.eof and i < 10
%>
<tr>
<td><%=rs("table1.zu")%></td>
<td><%=rs("table2.字段1")%></td>
<td><%=rs("table2.字段2")%></td>
<td><%=rs("table2.字段3")%></td>
...
</tr>
<%
i++
rs.movenext
wend
%>
</table>
是这个意思吗,没有必要多层循环
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询