用ASP實現長文章用分頁符來分頁顯示

2021-06-15 18:41:40 字數 1607 閱讀 9252

長文章頁用分頁符來顯示,想用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 %>

本文共分

<%

'分頁的地方,用ubound(contentstr)取得文章一共分為幾頁,注意這裡是從0開始,所以總頁數需要加1

for p = 0 to ubound(contentstr)

'鏈結還是本頁面,只不過文章id引數後面還要加上乙個分頁的引數:page

%>

&page=<%=p%>" class=""><%=p+1%>

<% next %>頁

實現長文章HTML分頁原始碼

本文在原文基礎上經過驗證除錯,修改部分內容。framecontent 北京奧運會頒獎禮儀服裝共十六款。其中 一款作為公升旗手 十五款分為五個系列,每一系列分別按照嘉賓引導員 運動員引導員和托盤員的不同職能設計了三個不同款式。在奧運會的302場和帕運會的472場頒獎儀式上,這五個系列的禮服將分別出現在...

asp用儲存過程實現快速分頁

asp用儲存過程實現快速分頁 在本地測試速度提公升了不少。已經加在本站的mtv歌曲列表網頁 一 先建立儲存過程p splitpage create procedure p splitpage sql nvarchar 4000 currentpage int 2,pagesize int 10,re...

ASP萬用分頁程式

下面這段是基本的分頁 sql select 省略了sql語句 set rs server.createobject adodb.recordset rs.open sql,conn,1,1 if not rs.eof then pages 30 定義每頁顯示的記錄數 rs.pagesize page...