日期:2014-05-17  浏览次数:20821 次

asp 双重循环如何写?在线等。。。
我想写出以下效果:

序号 公司名称 电话 地址
1 AAAA 2888888 AAAAAAAA
  序号 姓名
  1 张三
  2 李四
  3 王五
2 BBBB 3888888 BBBBBBBB
  序号 姓名
  1 刘七
  2 吴八

======================================================
以上的值都在数据库里,请问如何写循环列出来。

VB code

for i=1 to rs.PageSize
  v1=v1+1
  
  do while not rs2.eof
  v2&v1=v2&v1+1
  rs2.movenext
  loop

rs.movenext
next


v1 第一个序号
v2 第二个序号

这样写不行啊!请教高手!谢谢!

------解决方案--------------------
VBScript code

...
sql = "select * from A"
rs.oepn sql,cn,1,1
if rs.eof then
else
    do while not rs.eof 
        response.write rs("company") & ":" & rs("phone") & "<br />"
        set rs1 = ...
        sql1 = "select * from B where aid = '"&rs("id")&"'"
        rs1.oepn sql1,cn,1,1
        if rs1.eof then
        else        
            do while not rs1.eof
                response.write rs("id") & ":" & rs("name") & "<br />"
            rs1.movenext
            loop
        end if
    rs.movenext
    loop
end if
...

------解决方案--------------------
楼主第一个循环没有do。按楼上的你就可以了,不过不要每次都if rs.eof then。 直接do while not(rs.eof or err)就可以了。
do while not(rs.eof or err)

'这里显示你的内容
do while not(rs2.eof or err)
response.write rs2("")
rs2.movenext
loop

i=i+1
if rs.pagesize=i then exit do
rs.movenext
loop
------解决方案--------------------
在拿数据的时候,group by你要分层的数据。
然后用do...while循环。
a=""
do
if a<>rs("a") then
'显示主行
a= rs("a")
end if
'然后再这里显示子行
rs.movenext
while...