打印本文 打印本文 关闭窗口 关闭窗口
asp文章内容分页源代码分享
作者:武汉SEO闵涛  文章来源:本站原创  点击数1714  更新时间:2010/8/19 9:55:03  文章录入:mintao  责任编辑:mintao

我有个网站程序,显示的文章内容太长我想实现分页功能请各位指教!

以下是代码片段:
Function   c2u(myText)  
Dim   i  
c2u   =   " "  
For   i   =   1   to   Len(myText)  
c2u   =   c2u   &   "&#x "   &   Hex(AscW(Mid(myText,   i,   1)))   &   "; "  
Next  
End   Function  

Function   cutStr(str,strlen)  
'去掉所有HTML标记  
Dim   re  
Set   re=new   RegExp  
re.IgnoreCase   =True  
re.Global=True  
re.Pattern= " <(.[^> ]*)> "  
str=re.Replace(str, " ")  
set   re=Nothing  
Dim   l,t,c,i  
l=Len(str)  
t=0  
For   i=1   to   l  
c=Abs(Asc(Mid(str,i,1)))  
If   c> 255   Then  
t=t+2  
Else  
t=t+1  
End   If  
If   t> =strlen   Then  
cutStr=left(str,i)& "... "  
Exit   For  
Else  
cutStr=str  
End   If  
Next  
cutStr=Replace(cutStr,chr(10), " ")  
cutStr=Replace(cutStr,chr(13), " ")  
End   Function  

Function   converttowide(str)  
Dim   strlen  
Dim   position  
Dim   convertstr  
if   isnull(str)   then  
converttowide=str  
else  
position=1  
strlen=Len(str)  
For   i=1   To   strlen  
convertstr=convertstr+ "&#x "+Hex(AscW(Mid(str,position,1)))+ "; "  
position=position+1  
Next  
converttowide=convertstr  
end   if  
End   Function  

dim   topicx,usernamex,addtimex,logtextx,ispassword  
'获取ID号  
articleid=request( "articleid ")  
'写执行语句  
strSQL   =   "select   *   from   article   where   articleid= "&articleid& " "  
'接上面函数  
logtextx=cutStr(rs( "content "),5000)  
'开始分页  
dim   page,PageLength,CLength,PageCount,wen,a  
if   Request( "Page ") <> " "   then   Page   =   CLng(Request( "Page "))  
PageLength   =   80  
CLength   =   Len(logtextx)  
PageCount   =   Int(Clength/PageLength)   +   1  
if   Page   <   1   or   IsNull(Page)   Then   Page   =   1  
if   Page   >   PageCount   Then   Page   =   PageCount  
if   page=1   then  
a=1  
elseif   page> 1   then  
a=(Page-1)*PageLength  
end   if  
wen=Mid(logtextx,a,PageLength)  
'判断  
if   page= " "   or   page=1   then  
'开始显示内容  
Response.write   (c2u( "内容: "))
end   if  
Response.write   (converttowide(wen))  
Response.write   " <br/> "  
'Response.write   (converttowide( "本文字数: "))   &   CLength   & " <br/> "  

Response.write   (c2u( "本文被分为 "))   &   PageCount   &   (converttowide( "页 "))& "   "&c2u( "当前为 "&Page& "页 ")& " <br/> "  

if   PageCount   > 1   and   page   <>   1   then
Response.write   " <a   href= "/ "showarticle.asp?articleid= "&articleid& "&Page=1 " "> 1 </a>   "  
end   if  
dim   j  
For   j=Page+1   To   Page+10  
if   j   <=   PageCount-1   then  
Response.write   " <a   href= "/ "showarticle.asp?articleid= "&articleid& "&Page= "&j& " " "> "&j& " </a>   "  
end   if  
next  
if   PageCount   > 1   and   Page   <>   PageCount   then  
Response.write   " <a   href= "/ "showarticle.asp?articleid= "&articleid& "&Page= "&PageCount& " " "> "&PageCount& " </a> <br/> "  
End   if 

思路是一样的,文章分页只不过先计算你的文章在单页内的最大字数,然后计算分多少页。
打印本文 打印本文 关闭窗口 关闭窗口