看下面一小段asp代码,如何实现每行循环调用5个内容后,自动换行。

<%setrs=server.CreateObject("adodb.recordset")sql="select*fromcontentsorderbyiddesc"r... <% set rs = server.CreateObject("adodb.recordset") sql = "select * from contents order by id desc" rs.Open sql,conn,1,1 Do While Not rs.eof %> <a><span style="color:blue"><%=rs("name")%></span></a> <% rs.movenext Loop rs.close Set rs = Nothing else response.redirect("index.asp") End If %>例如想调用“name”所有内容,每行显示5个name后,自动换行再显示5个。如下
-------------
第一 ,第二, 第三, 第四, 第五;
第六 ,第七 ,第八 ,第九 ,第十;
第十一
<%
set rs = server.CreateObject("adodb.recordset")
sql = "select * from contents order by id desc"
rs.Open sql,conn,1,1
Do While Not rs.eof
%>
<a><span style="color:blue"><%=rs("name")%></span></a>
<%
rs.movenext
Loop
rs.close
Set rs = Nothing
else
response.redirect("index.asp")
End If
%>
把上面代码都换行,看着会直观些。
展开
 我来答
注册到抓狂
2014-01-01 · TA获得超过655个赞
知道小有建树答主
回答量:1410
采纳率:72%
帮助的人:358万
展开全部
<%
Dim X
X=0
    Set rs = server.CreateObject("adodb.recordset")
    sql = "select * from contents order by id desc"
    rs.Open sql,conn,1,1
    If Not(rs.bof And rs.eof) Then '判断数据库记录不为空
        Do While Not rs.eof
            If X mod 5 = 0 Then 'X取模,整除5,并没有余数时,输出<BR>换行
                Response.write "<BR />"
            End If
            Response.Write "<a><span style='color:blue'>"&rs("name")&"</span></a>"
            X=X+1 '输出计数
            rs.movenext
        Loop
        rs.close
        Set rs = Nothing
    Else
        response.redirect("index.asp")
    End If 
%>
更多追问追答
追问
调试时有代码错 end
追答
你把我这一段单独调试,,,
或是,,把
If X mod 5 = 0 Then 'X取模,整除5,并没有余数时,输出换行
Response.write ""
End If
嵌到你的 Do While Not rs.eof 下一行去
-------------------------------------------------------------
X=X+1 '输出计数

写到 LOOP之前一行去

看你的源码,貌似是少了一个IF的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3cb80af
2014-01-01 · TA获得超过9535个赞
知道大有可为答主
回答量:1.2万
采纳率:83%
帮助的人:4132万
展开全部

可以用CSS来控制,就不需要程序判断了。

<style>
#box{width:500px;height:auto;}
#box span{display:block;float:left;width:100px;height:35px;line-height:35px;}
</style>
<div>
<%
 set rs = server.CreateObject("adodb.recordset")
 sql = "select * from contents order by id desc"
 rs.Open sql,conn,1,1
 Do While Not rs.eof
 %>
<span><a><%=rs("name")%></a></span>
<%
 rs.movenext
 Loop
 rs.close
 Set rs = Nothing
 else
     response.redirect("index.asp")
 End If 
%>
</div>

这个原理呢是设置BOX的宽度为500PX,它里面的SPAN宽度为100一个,而且向左浮动,所以当SPAN加起来的宽度超过大于500PX了,就会自动换行。。。


当然用程序判断也是可以的。

<%
  set rs = server.CreateObject("adodb.recordset")
  sql = "select * from contents order by id desc"
  rs.Open sql,conn,1,1
  i=0'定义一个变量来计数
  Do While Not rs.eof
  %>  
<a><span style="color:blue"><%=rs("name")%></span></a>
  <%
  i=i+1'循环一次就+1
  if i mod 5=0 then'当i除于5,余数为0,说明这是5的倍数,
  response.write"<br>"'就输出一个换行符,这样就可以达到5个就自动换行了。
  end if
  rs.movenext
  Loop
  rs.close
  Set rs = Nothing
  else
      response.redirect("index.asp")
  End If 
%>
更多追问追答
追问
第一种调试不行呢,不过第二种程序判断能实现。
追答
哦写错了一点
把改成

就可以了。。

呼。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式