关于ASP中新闻展示内容分两列显示如何解决?

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:07:15
这是我的源文件,请高手们帮我看一下。
<%
set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from eatba_class where class_name='美容瘦身'"
rs.open sql,conn,1,1
class_id=rs("class_id")
rs.close
set rs=nothing

j=1
set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from eatba_main where main_class='"&class_id&"' order by main_id desc"
rs.open sql,conn,1,1
do until rs.eof or j>12
%>

·<a href="mrss_read.asp?main_id=<%=rs("main_id")%>" class="white" target="_blank"><font color="#333333" line-height: 150%;><%=rs("main_title")%>   </font><font color="#ff0000">[<%=rs("create_time")%>]</font></a><br>

<%
rs.movenext

楼上的思路是正确的 但是这样输出的表格不正确:
当j不是2的倍数的时候,就没有<tr></tr>标签了。
整个表格变成下面结构了:
<table>
<td></td>
<tr><td><td></tr>
<td></td>
<tr><td><td></tr>
</table>

只需要在这个基础上将<tr></tr>标钱的判断语句改写一下就可以了:

<table>
<tr>
<%
'把tr标签写到循环外面
do until rs.eof or j>12
%>
<td>
·<a href="mrss_read.asp?main_id=<%=rs("main_id")%>" class="white" target="_blank"><font color="#333333" line-height: 150%;><%=rs("main_title")%> </font><font color="#ff0000">[<%=rs("create_time")%>]</font></a><br>
</td>
<%
if j mod 2=0 or j=12 then response.write "</tr><tr>"
'如果是2的倍数,则闭合一个/tr,并且重新添加一个换行tr
rs.movenext