ASP中如何读取上一条下一条记录?

我在编写ASP网页时需要逐条读取数据库中记录。我的网页是产品展示性质,产品有分类,如:上衣,裤子等。在略缩图页中每10个产品一页,既可全部产品放在一起分页,即每页中有上衣... 我在编写ASP网页时需要逐条读取数据库中记录。我的网页是产品展示性质,产品有分类,如:上衣,裤子等。在略缩图页中每10个产品一页,既可全部产品放在一起分页,即每页中有上衣也有裤子;也可按分类来分页,即每页产品中只有上衣或只有裤子。

现在我需要点击略缩图,然后打开另一页来浏览大图,使用的语句是product.asp?ID= # (其中的 # 是指某一个id号码),目前大图页打开指定ID产品的语句如下:
<%
Dim varID
varID=Request.QueryString("ID")
Session("ID")=varID
Dim strSql,rs
strSql="Select * From 产品 Where ID=" & varID
Set rs=conn.Execute(strSql)
%>

我现在需要在打开的大图页中增加“上一个 下一个”的功能,无论我浏览略缩图时是混合产品页还是分类产品页,这个“上一个 下一个”的功能都要能按照相应的分类来读取相应分类的记录。

我曾经用bookmark来实现过逐条读取记录的功能,但我却又无法从略缩图中按照product.asp?ID= # 来打开对应的记录。
本人水平实在是低,请各位高手不惜赐教,尽量清晰详细一点啦。
最好可以加我来讨论啦,比较方便一些:QQ:913357 (说是回答ASP问题)
我的分数就100多,如果能帮我实现了此功能全给你也没问题啦。
注意:ID号可能不是连续的,所以不能用+1 -1来实现,还有我写的是ASP不是 ASP.net。
注意:如果我是在浏览“裤子”分类页的时候,我打开其中一个“裤子”的产品,那么点上一个下一个,读取全部都应该是“裤子”的记录才行。不能是裤子和上衣等混合的
展开
 我来答
凉澄游情0S
2006-11-28
知道答主
回答量:14
采纳率:0%
帮助的人:9.6万
展开全部
Set Objrs=Conn.Execute( "Select Max(ID) From 产品 Where ID< "& varID & " and 类别='" & typeid & "'")
Set Objrs=Conn.Execute("Select Min(ID) From 产品 Where ID> "& varID & " and 类别='" & typeid & "'")

If Not Objrs.Bof Then
MaxID=Objrs(0)
Else
MaxID=0
End If

If Not Objrs.Eof Then
MinID=Objrs(0)
Else
MinID=0
End If
<p>
<%If MaxID=0 Then %> 上一个
<%Else%>
<a href="?ID=<%=MaxID%>">上一个</a>
<%End If%>

<% If MinID=0 Then %> 下一个
<%Else%>
<a href="?ID=<%=MinID%>">下一个</a>
<%End If%>
</p>
来自南屏古村精致的懒羊羊
2006-11-26 · TA获得超过777个赞
知道小有建树答主
回答量:928
采纳率:0%
帮助的人:1218万
展开全部
增加一个参数
product.asp?ID=1&Op=Next

product.asp?ID=1&Op=Prec

在接收的时候判断
<%
Dim varID,Op
varID=Request.QueryString("ID")

Op = Request.QueryString("Op")

Session("ID")=varID

Dim strSql,rs
if Op="Next" then
strSql="Select * From 产品 Where ID>" & varID &" order by id desc "
elseif Op="Prec" then
strSql="Select * From 产品 Where ID<" & varID &" order by id "
else
strSql="Select * From 产品 Where ID=" & varID
end if
Set rs=conn.Execute(strSql)
if rs.Eof then
response.Write("没有找到该记录!")
response.End
end if
'下面读取第一条记录的值就是了.
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwhjohn
2006-11-27 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:199万
展开全部
可以在打印上一个 下一个之前做出ID指定并把类别指定~~
<%
Dim varID,typeid
varID=Request.QueryString("ID")
Session("ID")=varID
Dim strSql,rs
strSql="Select * From 产品 Where ID=" & varID
Set rs=conn.Execute(strSql)
typeid = rs("类别")
.....

Set rs1 = conn.execute("select top 1 id,类别 from 产品 where id<" & varID & " and 类别=" & typeid & " order by desc")
If Not rs.eof Then Response.Write "<a href='?id=" & rs1(0) & "'>上一个</a>"
Set rs1 = nothing

Set rs1 = conn.execute("select top 1 id,类别 from 产品 where id>" & varID & " and 类别=" & typeid & " order by asc")
If Not rs.eof Then Response.Write "<a href='?id=" & rs1(0) & "'>下一个</a>"
Set rs1 = nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuming0214
2006-11-26 · TA获得超过417个赞
知道小有建树答主
回答量:524
采纳率:0%
帮助的人:615万
展开全部
楼上说的很对.多传递一参数就可以解决了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友508c4f1155
2006-11-26 · TA获得超过134个赞
知道答主
回答量:422
采纳率:0%
帮助的人:0
展开全部
有点难啊~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式