永发信息网

ASP横向输出图片的问题

答案:3  悬赏:70  手机版
解决时间 2021-05-03 05:24
  • 提问者网友:太高姿态
  • 2021-05-03 02:13

<tr><%rs.open "select top 3 * from chanpin order by cdate desc",conn,1,1
while rs.eof=false %>
<td width="134"><p><img src="/images/<%=rs("cimg")%>" alt="" name="cp" width="134" height="107" id="cp" /></p>
<p>d</p></td>
<%
rs.movenext
wend
rs.close
%>
</tr>

我想横向输出,但是top 3 根本限制不了一行输出3个图片

我的本意是一行输出3个然后换行输出,请问怎么实现。

最佳答案
  • 五星知识达人网友:鸠书
  • 2021-05-03 03:10

我来吧^&^


SQL里的top 3是控制查询结果集的数量(最多只能返回前三条记录)


至于你要实现的效果,应该是这样的:


rs.open "select * from chanpin order by cdate desc",conn,1,1 取出所有记录


dejx=0 一个变量用于统计目前显示了多少张图片


if not rs.eof and not rs.bof then


while not rs.eof


if dejx mod 3=0 then response.write "<tr>" 如果是3的被数,那么新起一行


<td width="134"><p><img src="/images/<%=rs("cimg")%>" alt="" name="cp" width="134" height="107" id="cp" /></p><p>d</p></td>


if dejx mod 3=2 then response.write "</tr>" 除3的余数为2,说明当前行已经输出了3张图片,结束行


dejx=dejx+1


rs.movenext
wend


这里还有扫尾处理,也就是图片总数不是3的倍数时表格并不完整,楼群主自己想想怎么处理吧


end if


全部回答
  • 1楼网友:鱼芗
  • 2021-05-03 04:49

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="218" align="left" valign="top"><% if rs.bof and rs.eof then response.Write "目前没有产品数据!" else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <% if request("page")="" then curpage = 1 else curpage = cint(request("page")) end if

rs.pagesize = 20 rs.absolutepage = curpage for i = 1 to rs.pagesize %> <td align="center"><table width="151" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="158" height="85" align="center" bgcolor="#E4E4E4" onmouseover="this.style.backgroundColor='#Ff6600';" onmouseout="this.style.backgroundColor='';this.style.color=''"><img src="<%=rs("DefaultPicUrl")%>" alt="<%=rs("bigclassname")%><%=rs("title")%>" width="140" height="75" border="0" style="margin:5px;" /></td> </tr> <tr> <td height="2"></td> </tr> <tr> <td align="left" background="Images/hl_15.gif"><span class="red">产品名称:</span><%=left(rs("Title"),10)%> <span class="red"><br /> 所属类别:</span><%=rs("bigclassname")%></td> </tr> <tr> <td height="10" align="center"></td> </tr> </table></td> <% rs.movenext if (i mod 4 =0) then response.Write"</tr>" end if if rs.eof then i=i+1 exit for end if next %> </tr> </table>

我这里有一段 你自己试试能否看懂

  • 2楼网友:渊鱼
  • 2021-05-03 03:15

我就不给你代码了。因为你是初学。

我给你讲思路,自己去实现。

你不能用top3来控制行数。

你可以用一个变量,初始为0,然后每循环一次就加1

能够被3整除的时候就输出<tr>即换行。

然后就可以得到你要的结果了。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯