就是一段JS从数据库调出数据后怎么让它到8列就自动换行呢?
代码如下:
sql = "select * from link2 where logo='' order by ontop desc , upd desc , id desc"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
if rs.recordcount<>0 then
    %>
    document.write("<table border=0 cellpadding=0 cellspacing=0 width=100% id=table1><tr>");
    <%
for i=1 to n
url=rs("url")
linkname=rs("linkname")
%>
   document.write("<td align=center><a href=<%=url%> title='<%=linkname%>' target=_blank><%=linkname%></a></td>");
<%
rs.movenext
if rs.eof then exit for
next
%>
document.write("</tr></table>");
<%
请教哪位大虾帮小弟改改,还有加上样式。感激不尽

解决方案 »

  1.   

    if i>=8 then exit for
      

  2.   

    for i=1 to 9去掉 if rs.eof then exit for
      

  3.   

    这种问题可以去ASP论坛问啊而且你用的语句也比较不常用if not(rs.eof and rs.bof) then 和 if rs.recordcount<>0 then 相比哪个更常用呢?如果你要实现按指定的栏数实现表格换行, 可以用下面的方法:dim i,n
    i=0 '###起始值
    n=8 '###设置的换行栏数do while not rs.eof
    ...
    rs.movenext
    i=i+1
    if i mod n=0 then%>
    document.write('</tr><tr>');
    <%end if
    loop
    另外也可以使用DIV加CSS的格式用<div><ul>替换<table>,在CSS样式表中设置DIV的宽度,UL的margin和padding设置为0,
    用<li>替换<td>,在CSS样式表中设置li的宽度为12.5%(即1/8),LI的list-style-type为"无",float为left,position为relative这样<li>会按在<div>内自动排列,而且每排为8个<li>
    而且你也可以直接在样式表里面设定<li>的宽度来改变每个ROW中单元格的个数,比起你用ASP语句来实现方便多了
      

  4.   

    把ASP循环写在html表格的<tr>内,然后用取摸来判断换行IF i mod 8 = 0 THEN
      Response.Write("</tr>")
    END IF
      

  5.   

    超新鲜的手写示例代码<table>
      <tr>
        <%
        i = 0
        For i = 1 to 80
        %>
        <td><%=i%></td>
        <%
        IF i mod 8 =0 Then Response.Write("</tr>") End IF
        
        NEXT
        %>
    </table>