| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1098 人关注过本帖
标题:如何显示两个栏目中指定的图片
只看楼主 加入收藏
zkh
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-7-10
收藏
 问题点数:0 回复次数:11 
如何显示两个栏目中指定的图片
老师好!
news表中有字段articleid,title,picurl,classid,addtime.
实现的功能是:把栏目classid=3中的新闻图片从第5张开始,把栏目classid=20所有图片合在一起集中显示,下面的代码不能实现,看书说用UNION联合查询又不会写,请教各位老师如何写这段代码?
<%set rs=server.CreateObject("adodb.recordset")
sql= "select articleid,title,picurl from news where (classid=20 or classid=3) order by addtime desc"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<center><br><font color=red size=2>对不起,暂无图片!</font></font>"
response.End

搜索更多相关主题的帖子: 栏目 
2007-05-10 19:54
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 

如果用select * from new where classid=20 or classid=3 order by addtime desc查询,则会将classid为3的所有记录查询出来,不知怎么实现“从第5张开始”.不知是我不会做还是你说得我不能理解


编程快乐,快乐编程! 没有最好,只有更好!
2007-05-11 09:59
zkh
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-7-10
收藏
得分:0 
谢谢! 我上面的代码sql= "select articleid,title,picurl from news where (classid=20 or classid=3) order by addtime desc"是楼上老师所说的意思,会把栏目3和栏20中所有图片都查出来。

我现在求助的是:如何取出栏目3中从第5张开始的图片加上栏目20中所有的图片。主要的意思是去掉classid=3的前5张图片后组成一个记录集RS。
相当于sql= "select articleid,title,picurl from news where classid=20 order by addtime desc"
sql= "select 去掉前5张 articleid,title,picurl from news where classid=3 order by articleid desc"
两个合在一起。
2007-05-11 10:28
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 

我觉得你要从CLASSID=3的栏目中取得第5个记录,这一定得需要将其记录向后移动5位,而要将记录向后移动就必须利用recordset对象的movenext方法


编程快乐,快乐编程! 没有最好,只有更好!
2007-05-11 16:34
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 

所以依我现在所学的知识,觉得这是办不到的。只能通过两个步骤才能完成。

sql1="select * from news where classid=3"
rs1.open sql1,conn,1,1
rs1.movePrevious
for i =1 to 5
if rs1.eof then
exit for
response.End
end if
rs1.movenext
next
id=rs1("id")
sql2="select * from news where classid=20 union select * from news where classid=3 and id>="&id
rs2.open sql2,conn,1,1
for j=1 to rs2.recordcount
if rs2.eof then
exit for
end if
<table>
......<!--显示图片-->
</table>
rs2.movenext
next


编程快乐,快乐编程! 没有最好,只有更好!
2007-05-11 16:42
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 

所以依我现在所学的知识,觉得这是办不到的。只能通过两个步骤才能完成。

sql1="select * from news where classid=3"
rs1.open sql1,conn,1,1
rs1.movePrevious
for i =1 to 6
if rs1.eof then
exit for
response.End
end if
rs1.movenext
next
id=rs1("id")
sql2="select * from news where classid=20 union select * from news where classid=3 and id>="&id
rs2.open sql2,conn,1,1
for j=1 to rs2.recordcount
if rs2.eof then
exit for
end if
<table>
......<!--显示图片-->
</table>
rs2.movenext
next



sql1="select * from news where classid=3"
rs1.open sql1,conn,1,1
rs1.movePrevious
for i =1 to 6
if rs1.eof then
exit for
response.End
end if
rs1.movenext
next
id=rs1("id")
sql2="select * from news where classid=20 union select * from news where classid=3 and id>"&id
rs2.open sql2,conn,1,1
for j=1 to rs2.recordcount
if rs2.eof then
exit for
end if
<table>
......<!--显示图片-->
</table>
rs2.movenext
next


编程快乐,快乐编程! 没有最好,只有更好!
2007-05-11 16:43
zkh
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-7-10
收藏
得分:0 

谢谢您的回复,下面代码运行时,没有错误提示,也没有图片显示,什么原因?
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<%set rs1=server.CreateObject("adodb.recordset")
sql1="select * from news where classid=3 order by addtime desc"
rs1.open sql1,conn,1,1
rs1.movePrevious
for i =1 to 6
if rs1.eof then
exit for
response.End
end if
rs1.movenext
next
id=rs1("articleid")
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from news where classid=20 union select * from news where classid=3 and articleid>"&id
rs2.open sql2,conn,1,1
for j=1 to rs2.recordcount
if rs2.eof then
exit for
end if
%>
<td > <a href="tpxw.asp?id=<%=rs2("articleid")%>" class="list5" target=_blank><img src="<%=trim(rs2("picurl"))%>" alt="<%=rs2("title")%>" width="100" height="80" border="1" align="top" ></a >
</td>
<% rs2.movenext
next

%>
</tr>
</table>

2007-05-14 15:06
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 

如果是代码错误,你可以用SQL查询来试试,看看有没有结果


编程快乐,快乐编程! 没有最好,只有更好!
2007-05-15 10:45
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
试试它:sql2="select * from news where classid=20 union all select * from news where classid=3 and articleid>"&id

编程快乐,快乐编程! 没有最好,只有更好!
2007-05-15 10:48
zkh
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-7-10
收藏
得分:0 
谢谢qhscqb的回复,我把 sql2="select * from news where classid=20 union select * from news where classid=3 and articleid>"&id
换成sql2="select articleid,title,picurl from news where classid=20 union select articleid,title,picurl from news where classid=3 and articleid>"&id后,可以运行了,但是与要求反了,它显示了20所有的图片和栏目3的前5张图片,而不是去掉前5张.
请您再看下怎回事?再次感谢!!!!

2007-05-15 11:55
快速回复:如何显示两个栏目中指定的图片
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040015 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved