来宾市卫计委地址:ASP中的do while循环问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 01:36:55
在ASP中使用do while循环后都是 从上向下 排列的,怎么样才能让它 左右 排列呢?
你们的方法都是上下排列呀!~

<table>
<tr>
<%do while not rs.eof%>
<td><%=rs(1)%></td>
<%
rs.movenext
loop
%>
</tr>
</table>
楼上的兄弟,好像没有必要判断吧,只要到了eof则do自动跳出了

给你一个例子:
....
Response.write("<table>")
do while not rs.eof
Response.write("<tr>")
Response.write("<td>" &rs("..") &"</td>")
rs.movenext
if rs.eof then
Response.write("<td> </td></tr>")
exit do
else
Response.write("<td>" &rs("..") &"</td></tr>")
End if
loop
Response.write("</table>")

其实要实现这个功能就是在循环里多加几个RS.MOVENEXT,但加了的话你就必须得再判断是否到结尾了。
按同样的方法可以实现多重并列输出。

楼上的二位别吵了,看洒家给你们解开谜底:
<table><tr>
<%dim i
i=0%>
<%do while not rs.eof%>
i=i+1
<%if int(i/2)=i/2 then%>
</tr><tr><td><%=rs("1")%></td>
<%else%>
<td><%=rs("1")%></td>
<%end if%>
<%
rs.movenext
loop
%>
</tr></table>

定义一个变量i,每循环一次如果int(i/2)=i/2则被二整除就换行,同理int(i/n)=i/n则是被n整除即换行,

<table><tr>
<%dim i
i=0%>
<%do while not rs.eof%>

<%if i mod 2 =0 then%>
<tr><td><%=rs("1")%></td>
<%else%>
<td><%=rs("1")%></td></tr>
<%end if%>
<%i=i+1
rs.movenext
loop
%>
</tr></table>

其实为了效率还是不要用rs.eof 应该用for循环。