前段时间修改一个网站,在文章中实现文章的上翻,下翻功能!不是用那种JS调用的,而是传递ID时,实现上/下翻的功能,起初实现时,只是改变了id,上页id+1,下页id-1,但问题出现了,假如我将当前文章的上篇删除时,这时当前文章的上页就显示为空了!然后,试着又写了sql,大致有二种写法
1:select(select top 1 * from tablename where ID>currentID order by ID desc ) as prev ,
(select top 1 * from tablename where ID
2:create table #a
insert into #a(a) values ('abc')
select * from #a
delete t1 from #a t1,
select * from #a
drop table #a.
本来第一种就可以实现的,(后来才测试通过的),不过这是个asp网站,所以改了将近一天,才发现错误,原来少个空格,…………
贴出来吧,分享下:
<%
(
id int identity(1,1),
a varchar(50)
)
insert into #a(a) values ('abc')
insert into #a(a) values ('abc')
(
select max(id) as id,a from #a group by a having count(1)>1
) t2 where t1.a=t2.a and t1.id!=t2.id
Set conn=Server.CreateObject("Adodb.Connection")
connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("/Data/TA_Data.mdb")
conn.open connstr
u1=request("urlid")
set rs=server.CreateObject("adodb.recordset")
sql="select top 1 * from NewsContent where TwoNewsClassID=28 and ID>"&u1&" order by ID asc"
rs.open sql,conn,1,3
%>
加红色的地方,也就是order前面应该有个空格的!不相的话,删除试试,唉,一个小错误,折腾这么长时间!
更新:加判断,即当下一篇或下一篇没信息时,提示的代码:
上篇:
<%
dim u1
Set conn=Server.CreateObject("Adodb.Connection")
connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("/Data/TA_Data.mdb")
conn.open connstr
u1=request.QueryString("urlid")
set rs=server.CreateObject("adodb.recordset")
sql="select top 1 * from NewsContent where TwoNewsClassID=65 and ID>"&u1&" order by ID asc"
rs.open sql,conn,1,3
If Not rs.EOF Then
Do While Not rs.EOF
Response.Write ""&rs("Title")&"
"
rs.MoveNext
Loop
Else
Response.Write "上一篇暂且没有新闻"
End If
%>
下篇:
<%
dim u2
Set conn=Server.CreateObject("Adodb.Connection")
connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("/Data/TA_Data.mdb")
conn.open connstr
u2=request.QueryString("urlid")
set rs=server.CreateObject("adodb.recordset")
sql="select top 1 * from NewsContent where TwoNewsClassID=65 and ID<"&u2&" order by ID desc"
rs.open sql,conn,1,3
If Not rs.EOF Then
Do While Not rs.EOF
Response.Write ""&rs("Title")&"
"
rs.MoveNext
Loop
Else
Response.Write "下一篇暂且没有新闻"
End If
%>
Copyright@ 2011-2016 版权所有:大连千亿科技有限公司 辽ICP备11013762-3号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2317 客服电话:0411-39943997 QQ:2088827823 37482752
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明