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。
注意:如果我是在浏览“裤子”分类页的时候,我打开其中一个“裤子”的产品,那么点上一个下一个,读取全部都应该是“裤子”的记录才行。不能是裤子和上衣等混合的 展开
现在我需要点击略缩图,然后打开另一页来浏览大图,使用的语句是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。
注意:如果我是在浏览“裤子”分类页的时候,我打开其中一个“裤子”的产品,那么点上一个下一个,读取全部都应该是“裤子”的记录才行。不能是裤子和上衣等混合的 展开
5个回答
展开全部
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>
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>
展开全部
增加一个参数
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
'下面读取第一条记录的值就是了.
%>
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
'下面读取第一条记录的值就是了.
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在打印上一个 下一个之前做出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
%>
<%
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
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的很对.多传递一参数就可以解决了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有点难啊~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询