讨论一下图片轮换时的1,2,3,4....问题

bsk_bg 2009-07-30 05:46:28


set rs=server.CreateObject("adodb.recordset")
sql="select top 5 * from table1 order by id"
rs.open sql,conn,1,1
j=1

do while not rs.eof
if j<5 then
%>
pics=pics+"<%=rs("pic")%>"+"|"
links=links+escape("<%=rs("url")%>")+"|"
texts=texts+"<%=rs("title")%>"+"|"
<%
else
%>
pics=pics+"<%=rs("pic")%>"
links=links+escape("<%=rs("url")%>")
texts=texts+"<%=rs("title")%>"
<%
end if
rs.movenext
j=j+1
loop
rs.close
%>



就是以上的问题中,当前取的是5条记录,这是一个图片轮换的问题。当正好5张的时候图片输出为最后一条记录后面不带"|"

问题就是当不够5张时,怎么来判断不让最后一条记录带"1"

大家来讨论一下。
...全文
114 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
renzaijiang 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lihui_shine 的回复:]
这样就OK了
VBScript codeif j==1then
%>
pics=pics+"<%=rs("pic")%>"
links=links+escape("<%=rs("url")%>")
texts=texts+"<%=rs("title")%>"<%else
%>
pics=pics+"|"+"<%=rs("pic")%>"
links=links+"|"+escape("<%=rs("url")%>")
texts=texts+"|"+"<%=rs("title")%>"<%endif
[/Quote]
原理 第一条记录
+"|"+第i条记录(1<i<=5) 没有问题啊
bsk_bg 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lingfeng179 的回复:]
因为你的j <5,j开始为1,你怎么可能读出第五条记录啊
你可以求余数 j%5,当余数==0是正好整除
余数不为0是你可一让最后不显示‘|’
[/Quote]

看到的判断没,当共有5条记录时 1234分别后面都有"|" 当为第5张时。最后输出就不带"|" 了
lingfeng179 2009-07-30
  • 打赏
  • 举报
回复
因为你的j<5,j开始为1,你怎么可能读出第五条记录啊
你可以求余数 j%5,当余数==0是正好整除
余数不为0是你可一让最后不显示‘|’
bsk_bg 2009-07-30
  • 打赏
  • 举报
回复
当J< 5张的时候要的就是 pics|pics2|pics3|pics4 这样的效果.在最后一张的后面不能有"|" 就是这么个意思..而上面给出的答案我试了一下.直接输出下面的那个了. 结果就是图片切换什么也显示不出来
toury 2009-07-30
  • 打赏
  • 举报
回复
汗~10楼也错。看这个:((

<%
set rs=server.CreateObject("adodb.recordset")
sql="select top 5 * from table1 order by id"
rs.open sql,conn,1,1
j=1
do while not rs.eof
%>
pics=(<%=j%>==1)?"<%=rs("pic")%>" : pics+"|"+"<%=rs("pic")%>";
links=(<%=j%>==1)?escape("<%=rs("url")%>") : links+"|"+escape("<%=rs("url")%>");
texts=(<%=j%>==1)?"<%=rs("title")%>" : texts+"|"+"<%=rs("title")%>";
<%
rs.movenext
j=j+1
loop
rs.close


%>
toury 2009-07-30
  • 打赏
  • 举报
回复
8楼发错了,看这个

<%
set rs=server.CreateObject("adodb.recordset")
sql="select top 5 * from table1 order by id"
rs.open sql,conn,1,1
j=1
do while not rs.eof
%>
pics=(<%=j%>==1)?"<%=rs("pic")%>" : pics+"|"+"<%=rs("pic")%>";
links=(<%=j%>==1)?escape("<%=rs("url")%>") : pics+"|"+escape("<%=rs("url")%>");
texts=(<%=j%>==1)?"<%=rs("title")%>" : pics+"|"+"<%=rs("title")%>";
<%
rs.movenext
j=j+1
loop
rs.close

%>
  • 打赏
  • 举报
回复
其实把
if j<5 then
%>
pics=pics+"<%=rs("pic")%>"+"|"
links=links+escape("<%=rs("url")%>")+"|"
texts=texts+"<%=rs("title")%>"+"|"
改为
if j=1 then
%>
pics="<%=rs("pic")%>"
links=escape("<%=rs("url")%>")
texts="<%=rs("title")%>"
就好了
toury 2009-07-30
  • 打赏
  • 举报
回复

<%
set rs=server.CreateObject("adodb.recordset")
sql="select top 5 * from table1 order by id"
rs.open sql,conn,1,1

do while not rs.eof
%>
pics=(<%=j%>==1)?"<%=rs("pic")%>" : pics+"|"+"<%=rs("pic")%>";
links=(<%=j%>==1)?escape("<%=rs("url")%>") : pics+"|"+escape("<%=rs("url")%>");
texts=(<%=j%>==1)?"<%=rs("title")%>" : pics+"|"+"<%=rs("title")%>";
<%
rs.movenext
loop
rs.close
%>

浪尖赏花 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bsk_bg 的回复:]
二楼的哥哥错了吧。要是当前是3张呢?
[/Quote]
随便你几张,LZ试下看看
bsk_bg 2009-07-30
  • 打赏
  • 举报
回复
谁能把原理详细说一下。谢谢了。
bsk_bg 2009-07-30
  • 打赏
  • 举报
回复
二楼的哥哥错了吧。要是当前是3张呢?
junyi2003 2009-07-30
  • 打赏
  • 举报
回复
只要不是没记录,自动缩一个字符不就可以了
楼上已经说了,真是的。
bsk_bg 2009-07-30
  • 打赏
  • 举报
回复
不太明白,能稍再加指点吗
浪尖赏花 2009-07-30
  • 打赏
  • 举报
回复
这样就OK了
if j==1 then
%>
pics=pics+"<%=rs("pic")%>"
links=links+escape("<%=rs("url")%>")
texts=texts+"<%=rs("title")%>"
<%
else
%>
pics=pics+"|"+"<%=rs("pic")%>"
links=links+"|"+escape("<%=rs("url")%>")
texts=texts+"|"+"<%=rs("title")%>"
<%
end if
孟子E章 2009-07-30
  • 打赏
  • 举报
回复
你应该将pics保存到一个变量里面,判断变量啊。Right(pics,1) = "|"
js里面也可以判断啊。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧