麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

asp長文章用分頁符來分頁顯示

2024-05-04 11:09:07
字體:
來源:轉載
供稿:網友
照正常的文章系統一路做下去,后臺的文章添加,文章的檢索,和文章的詳細頁,都是常規方式操作,這里不加描述,請參閱相關帖子。
 
 
 

需要注意的是 [ page ]需要刪除中間的空格,因為與腳本之家的后臺分頁重復,所以加了空格處理。

只是在文章添加時,在你想讓它分頁的地方加上分頁符:“[ page ]”(當然這個符號你可以隨便用,比如:[ page ]、&&&、###、@@@……,只要它不會在文章要正常顯示的地方出現就行了。) 
我用了四個頁面,輸入頁(index.asp)、輸入完成頁(add.asp)、文章列表頁(view.asp)、文章內容頁(text.asp),前三個都是不用處理的頁面,看下面的介紹我想一般的小鳥就會做了,關鍵是最后一個text.asp,所有實現分頁的代碼都在這里。 
第二步:來 
在文章正文內容的動態數據部分做一些手腳,下面是代碼和解釋: 

復制代碼代碼如下:

'這里是處理分頁的代碼 
'考濾保險起見,我們用replace函數在分頁代碼前后各加一個全角空格 
MMText=replace(rs("contents"),"[ page ]"," [ page ] ") 
MMfText=split(MMText,"[ page ]") 
'用ubound函數取得要分的頁數,注意下標值是從0開始的 
contentNum=ubound(MMfText) 
page=Clng(request("page")) 
if page<1 then 
page=1 
end if 
'為了看起來直觀一些,我們把起始頁設為1,那么總頁數就要加上1 
if page>contentNum+1 then 
page=contentNum+1 
end if 
'換照上面從url中參數中取得的要顯示的那面的那個變量,就循環顯示一頁 
for i=page to page 
response.write MMfText(i-1) 
next 
'列出分頁 
if cint(contentNum)>0 then 
if page<>1 then 
response.write "<a href='text.asp?id="&request("id")&"&page="&page-1&"'>[上一頁]</a> " 
end if 
'記得下標值是從0開始,我們這里從1開始分頁,總數要加1 
for p=1 to contentNum+1 
if page=p then 
response.write "<a href='text.asp?id="&request("id")&"&page="&p&"'><font color=red>["&p&"]</font></a> " 
else 
response.write "<a href='text.asp?id="&request("id")&"&page="&p&"'>["&p&"]</a> " 
end if 
next 
if page<>contentNum+1 then 
response.write "<a href='text.asp?id="&request("id")&"&page="&page+1&"'>[下一頁]</a> " 
end if 
end if 


下面是其它網站的文章,大家也可以參考下。

長文章頁用分頁符來顯示,想用ASP也實現這種功能,可發現只有根據字數進行分頁的方法,但這種方法有一個BUG,就是如果你文章內容中如果有UBB代碼,它很容易造成在[ code ][ /code ]之間進行分頁,或者干脆就把[ code ]分解成了[co和de],這樣文章顯示就會出現錯誤。 
以下幾個步驟將能夠完全實現。 
第一步: 
按照正常的文章系統一路做下去,后臺的文章添加,文章的檢索,和文章的詳細頁,都是常規方式操作,這里不加描述,請參閱相關帖子。只是在文章添加時,在你想讓它分頁的地方加上分頁符:“|||”(當然這個符號你可以隨便用,比如:[ page ]、&&&、###、@@@……,只要它不會在文章要正常顯示的地方出現就行了。) 
我用了四個頁面,輸入頁(index.asp)、輸入完成頁(add.asp)、文章列表頁(view.asp)、文章內容頁(display.asp),前三個都是不用處理的頁面,看下面的圖片我想一般的小鳥就會做了,關鍵是最后一個displasy.asp,所有實現分頁的代碼都在這里。 
第二步: 
在文章正文內容的動態數據部分做一些手腳,下面是代碼和解釋: 
復制代碼代碼如下:

<% 
'這里要處理接收到的分頁參數,以此來進行顯示第幾頁的內容 
'下面這兩句就是如果沒有page這個參數傳來就讓變量pageNum取顯示第一頁的值:0 
If Request("page")="" Then 
pageNum=0 
'否則就給變量賦值為傳遞來的page里的參數,來顯示其他頁 
Else 
pageNum=Request("page") 
End if 
%> 
<% 
'如果加了可選執行UBB代碼,可以加上下面的代碼 
'rs("NoUBB")是數據庫里關于禁用UBB的字段,0為禁用,1為執行 
If rs("NoUBB")=0 then 
'為避免和文章內容相連出現錯誤,用Replace函數把分頁代碼“|||”的前后各加一個全角的 
'rs("content")是數據庫里正文的字段,在這里加上UBB或者禁用UBB 
Content=Replace((unHTML(rs("content"))),"|||"," ||| ") 
Elseif rs("NoUBB")=1 then 
Content=Replace((ubb(rs("content"))),"|||"," ||| ") 
End if 
%> 
<% 
'這里就是關鍵了 
'我們用split函數將文章分段取出存入變量content 
ContentStr=split(Content,"|||") 
'按照剛才從URL參數中取得的要顯示那面的那個變量,就循環顯示一頁 
For i=pageNum to pageNum 
%> 
<!--這里將是文章正文內容--> 
<%=ContentStr %> 
<% Next %> 
</td> 
</tr> 
<tr> 
<td height="30" class="ClassName">本文共分 
<% 
'分頁的地方,用ubound(ContentStr)取得文章一共分為幾頁,注意這里是從0開始,所以總頁數需要加1 
For p = 0 to ubound(ContentStr) 
'鏈接還是本頁面,只不過文章ID參數后面還要加上一個分頁的參數:page 
%> 
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a> 
<% Next %>頁 

很簡單吧,要是把注釋都刪除,才15行代碼,不過還要加工一下,讓它能有上一頁、下一頁和當前頁突出的功能就完善了。 
已測試過,除非文章里出現那個分頁符,否則各種類型都不會出錯,當然可以把|||的數量加大比如:||||||,再六個“|”以下在文章出現都沒事,但六個以上就會分頁了,選擇一個好的分頁符就可以了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄视频在线网站 | 久久综合精品视频 | 国产美女爽到喷白浆的 | 91系列在线观看 | 亚洲综合视频网 | 免费观看国产视频 | 欧美日韩大片在线观看 | 青青草国产在线视频 | 日韩精品羞羞答答 | 亚洲精品久久久久久 | 激情综合在线观看 | 国产精品一区二区x88av | 18欧美性xxxx极品hd | 一区二区三高清 | 看免费5xxaaa毛片 | 一级免费特黄视频 | 午夜精品福利视频 | 欧美精品一区二区三区在线播放 | 免费a级片在线观看 | 国产成人精品区一区二区不卡 | 日日草日日干 | 国产一区精品在线观看 | 麻豆视频观看 | 成人午夜免费看 | av在线免费电影 | 91精品国产一区二区三区动漫 | 三级国产三级在线 | 91短视频版高清在线观看免费 | 精品一区二区三区中文字幕老牛 | 久久久久久久久久一本门道91 | 婷婷一区二区三区 | 日韩精品中文字幕在线观看 | 免费观看黄色片视频 | 一级电影免费在线观看 | 91精品最新国内在线播放 | 欧产日产国产精品99 | 欧美精品久久久久久久多人混战 | av免费在线观 | 91久久99热青草国产 | 一级免费看片 | www.99久久久 |