前段時(shí)間修改一個(gè)網(wǎng)站,在文章中實(shí)現文章的上翻,下翻功能!不是用那種JS調用的,而是傳遞ID時(shí),實(shí)現上/下翻的功能,起初實(shí)現時(shí),只是改變了id,上頁(yè)id+1,下頁(yè)id-1,但問(wèn)題出現了,假如我將當前文章的上篇刪除時(shí),這時(shí)當前文章的上頁(yè)就顯示為空了!然后,試著(zhù)又寫(xiě)了sql,大致有二種寫(xiě)法
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.
本來(lái)第一種就可以實(shí)現的,(后來(lái)才測試通過(guò)的),不過(guò)這是個(gè)asp網(wǎng)站,所以改了將近一天,才發(fā)現錯誤,原來(lái)少個(gè)空格,…………
貼出來(lái)吧,分享下:
<%
(
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前面應該有個(gè)空格的!不相的話(huà),刪除試試,唉,一個(gè)小錯誤,折騰這么長(cháng)時(shí)間!
更新:加判斷,即當下一篇或下一篇沒(méi)信息時(shí),提示的代碼:
上篇:
<%
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 "上一篇暫且沒(méi)有新聞"
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 "下一篇暫且沒(méi)有新聞"
End If
%>
Copyright@ 2011-2016 版權所有:大連千億科技有限公司 遼ICP備11013762-3號 google網(wǎng)站地圖 百度網(wǎng)站地圖 網(wǎng)站地圖
公司地址:大連市沙河口區中山路692號辰熙星海國際2317 客服電話(huà):0411-39943997 QQ:2088827823 37482752
法律聲明:未經(jīng)許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利! 隱私權政策聲明