asp 跪求上一篇 下一篇功能的程序

请教大侠,怎么写上一篇和下一篇的程序,我用的是asp在显示页里面我的标题为:<ahref="wzzxx.asp?wzml=<%=rs("bh")%>"target="_b... 请教大侠,怎么写上一篇和下一篇的程序,我用的是asp
在显示页里面 我的标题为:
<a href="wzzxx.asp?wzml=<%=rs("bh")%>"target="_blank"><%=rs("wzm")%></a>
其中bh为文章的编号,为自动的,然后点击是到文章的详细页面,也就是wzzxx.asp。
我的相信页面代码为:
<%
bh=request.QueryString("wzml")
if yjx.State=1 then
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection=yjx
end if
sql = "Select * from wz Where bh=" & bh
rs.CursorType=1
rs.open sql
if rs.RecordCount>0 then
hit=rs("hit")+1
SQL="update wz set hit="&hit&" where bh=" & bh
yjx.execute(SQL)
%>
hit是点击次数,可以不用理会,
我现在是先要的功能是
上一篇: 下一遍:
比如:
bh(自动) wzm(文章名) nr(内容)......................(字段)
1 静夜思 床前明月光....
2 望庐山瀑布 日照香炉生紫烟 ..............
3 秋浦歌 白发三千丈.........................
4 绝句 两个黄鹂鸣翠柳.....................
如果当前信息页面为3 (秋浦歌 )时,内容也显示了
那么要显示的功能为:
上一篇:望庐山瀑布 下一篇: 绝句
然后点击进入该文章的相信内容页面
给出源码..................................

...........................
............................
声明 : 不是要求上一页 下一页的分页功能,而是上一篇 下一篇文章的功能

....................文章是按照bh(自动)排列的,但是如果删除文章的话,那就会断了顺序的,比如1,2,3,4,5...但是如果删除第4篇的话,就没有bh(4)了
展开
 我来答
ahuinan
2010-09-04 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:163万
展开全部
以前看到一个帖子讲用ID+1和ID-1的办法判断“上一篇下一篇”,在用的过程中发现一个问题:当删除数据库中的一篇文章时,就会造成ID不连续,如果用ID+1和ID-1来判断就会出现找不到记录的问题,在这个程序里,通过查询大于当前ID的第一条记录来找出下一篇的ID,查询小于当前ID的第一条记录来找出上一篇的ID,这样就算ID不连续也可以正常显示了。 至于相关文章的显示则是在数据表里添加一个boardid字段来区分不同的文章栏目,在每次添加一篇新文章时加上boardid号就可以了,显示一篇文章时根据boardid来查询数据库就能显示出相关文章。 数据表articles中的字段有id,boardid,title,content,author,addtime。
以上文字是摘录的,而在搜索过程中我发现以下的实现代码最好:

具体代码及简单说明:
参数说明:pid1为当前id号;pid2为上一篇id号;pid3为下一篇id号;id为数据表的id字段;title为数据表标题字段;

<%
pid1=rs("id")
function Getpre
sql="select top 1 * from 数据表 where id>"&pid1&" order by id"
set rs=conn.execute(sql)
if rs.eof or rs.bof then
response.Write("没有新闻了")
else
pid2=rs("id")
response.Write("<a href='文章页面.asp?id="&pid2&"'>"&rs("title")&"</a>")
end if
end function

function Getnext
sql="select top 1 * from 数据表 where id<"&pid1&" order by id desc"
set rs=conn.execute(sql)
if rs.eof then
response.Write("没有新闻了")
else
pid3=rs("id")
response.Write("<a href='文章页面.asp?id="&pid3&"'>"&rs("title")&"</a>")
end if
end function
%>
调用实现方法:
上一篇:<% getpre %>
下一篇:<% getnext %>

参考资料: http://www.sosuo8.com/article/show.asp?id=1105

paoguofu1
2010-08-27 · TA获得超过179个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:156万
展开全部
一楼正解。
取出ID,然后再取TOP1 .

只能教你方法,不能给你代码哦。你自己做了会更深刻一点了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4eacddb
2010-08-27 · 超过56用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:123万
展开全部
<table><tr><td><%=thehead%></td><td><%=thenext%></td></tr></table>
<%
function thehead
headrs=server.CreateObject("adodb.recordset")
sql="select top 1 ZID,num from rent where zid<"&request("zid")&" order by zid desc"
set headrs=conn.execute(sql)
if headrs.eof then
response.Write("上一篇:没有了")
else

a0=headrs("zid")
a1=headrs("num")
response.Write("<a href='List_rent.asp?ZID="&a0&"' class=pian>上一篇:"&a1&"</a>")
end if
end function

function thenext
newrs=server.CreateObject("adodb.recordset")
sql="select top 1 ZID,num from rent where zid>"&request("zid")&" order by zid asc"
set newrs=conn.execute(sql)
if newrs.eof then
response.Write("下一篇:没有了")
else
a0=newrs("zid")
a1=newrs("num")
response.Write("<a href='List_rent.asp?ZID="&a0&"' class=pian>下一篇:"&a1&"</a>")

end if
end function
%>
哪里不明白在问我吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
职场老农民
2010-08-27 · TA获得超过1547个赞
知道小有建树答主
回答量:1116
采纳率:0%
帮助的人:808万
展开全部
这个简单,我不知道你的文章是按什么排序的,如果是按编号降序的就这样,如果是升序,那上一篇和下一篇对调。

<%
set rs=yjx.execute("select top 1 * from wz where bh>"&clng(bh)&" order by bh desc")
if not rs.eof then
response.write "上一篇:<a href=wzzxx.asp?wzml="&rs("bh")&">"&rs("wzm")&"</a>"
else
response.write "上一篇:已经没有了"
end if
rs.close
set rs=nothing
%>

<%
set rs=yjx.execute("select top 1 * from wz where bh<"&clng(bh)&"")
if not rs.eof then
response.write "下一篇:<a href=wzzxx.asp?wzml="&rs("bh")&">"&rs("wzm")&"</a>"
else
response.write "下一篇:已经没有了"
end if
rs.close
set rs=nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liveray
2010-08-30 · TA获得超过568个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:233万
展开全部

“很简单啊。。。上一篇的时候 你就查询ID比当前的ID小的top 1 ,下一篇的时候 你就查询ID比当前的ID大的 top 1 就是了啊。
不是大于小于1哈,是大于或者小于当前ID 的 TOP 1 ”
他说的很对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网媒天堂
2010-08-31 · TA获得超过147个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:134万
展开全部
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><div align="center">
<%
dim wzlist, nexttitle, prevtitle
set wzlist=server.CreateObject("adodb.recordset")
wzlist.open "select top 1 bh, wzm from wz where bh>" & request.QueryString("wzml") & " order by bh asc",conn,1,1
if not wzlist.eof then
nexttitle="<a href=""wzzxx.asp?bh=" & wzlist(0) & """>" & InterceptString(wzlist(1),60) & "</a>"
else
nexttitle = "底部"
end if
wzlist.close
wzlist.open "select top 1 bh, wzm from wz where bh<" & request.QueryString("wzml") & " order by bh desc"
if not wzlist.eof then
prevtitle="<a href=""wzzxx.asp?bh=" & wzlist(0) & """>" & InterceptString(wzlist(1),60) & "</a>"
else
prevtitle = "顶部"
end if
wzlist.close
set wzlist=nothing
%>
上篇文章:<%=prevtitle%></div></td>
<td bgcolor="#FFFFFF"><div align="center">下篇文章:<%=nexttitle%></div></td>
</tr>
</table>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式