当前位置:编程学习 > asp >>

asp实现表格3列5行

答案:方案一
<!--#include file="conn.asp"-->
<%
owen1=request("owen1")
owen2=request("owen2")
%>

<table width="95%" border="0" cellpadding="0" cellspacing="0">
<%
page=clng(request("page"))
Set rs=Server.CreateObject("ADODB.RecordSet")
if owen1<>"" and owen2 <>"" then
sql="select * from news where BigClassName='"&owen1&"' and SmallClassName='"&owen2&"' order by id desc"
rs.Open sql,conn,1,1
elseif owen1<>"" then
sql="select * from news where BigClassName='"&owen1&"' order by id desc"
rs.Open sql,conn,1,1
end if
if rs.eof and rs.bof then
response.Write("暂时没有记录")
else
%>
<%
rs.PageSize=15
if page=0 then page=1
pages=rs.pagecount
if page > pages then page=pages
rs.AbsolutePage=page
for j=1 to rs.PageSize
if (j-1) mod 3=0 then Response.Write("<tr>")
%>
<td height="24" align="center" > 
<div align="center"><img src="uppic/<%= RS("firstImageName") %>"width="130" height="100" border="0" /><a href=><%= RS("TITLE") %></a></div></td>
<%
if j mod 3=0 then Response.Write("</tr>")
rs.movenext
if rs.eof then exit for
next
%>
<%
end if
rs.close
set rs=nothing
%>
</table>

方案二、
<!--#include file="conn.asp"-->
<%
owen1=request("owen1")
owen2=request("owen2")
%>

<table width="95%" border="0" cellpadding="0" cellspacing="0">
<%
page=clng(request("page"))
Set rs=Server.CreateObject("ADODB.RecordSet")
if owen1<>"" and owen2 <>"" then
sql="select * from news where BigClassName='"&owen1&"' and SmallClassName='"&owen2&"' order by id desc"
rs.Open sql,conn,1,1
elseif owen1<>"" then
sql="select * from news where BigClassName='"&owen1&"' order by id desc"
rs.Open sql,conn,1,1
end if
if rs.eof and rs.bof then
response.Write("暂时没有记录")
else
%>
<%
rs.PageSize=15
if page=0 then page=1
pages=rs.pagecount
if page > pages then page=pages
rs.AbsolutePage=page
for j=1 to (rs.PageSize/3)
Response.Write("<tr>")
for i=1 to 3
%>
<td height="24" align="center" > 
<div align="center"><img src="uppic/<%= RS("firstImageName") %>"width="130" height="100" border="0" /><a href=><%= RS("TITLE") %></a></div></td>
<%
rs.movenext
if rs.eof then exit for
next
Response.Write("</tr>")
next
%>
<%
end if
rs.close
set rs=nothing
%>
</table>

上面的代码有缺点..
就是如果是 16条 那么页面最后一行会空出两列 页面很难看 因为如果16 最后一行只显示一列 这样少了两个<td></td> 
必须进行判断 总数/3的余数
if (rs.recordcount mod 3=2) then response.write("<td> </td>")
if (rs.recordcount mod 3=1) then response.write("<td> </td><td> </td>")
这样页面才完整的

上一个:ASP编程实用20例
下一个:利用Split函数进行多关键字检索

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,