说明:
本函数为文章分页, 非记录集分页
本函数实现将文章分页显示, 并以指定长度显示每一分页
本函数实现不需指定 URL, 自动更替 URL
本函数实现返回多个结果, 为: 分页链接-文章统计信息-文章内容, 由字典实现
如果分页大小大于文章总大小, 分页链接将为空.
显示如:
第1页 第2页 第3页 第4页 第5页
50,000字/页 1/5页 共235,289字
正文...
注: 显示内容的三个元素可自由变更位置.
附注:
如果您是在查找 记录集分页函数, 鄙人以前也写过一个, 名为 "ASP VBScript 分页函数 by Stabx, 第三版".
链接:
shawl.qiu
2006-09-04
主内容: 分页函数及调用代码
linenum
<%
dim rs, dic
set rs=createObject("adodb.recordset")
rs.open "select * from ctat where aid=15783",conn
'rs.open "select * from ctat where aid=12850",conn
set dic=fAtPgnt(rs("content"),50000,request.queryString("apid"))
response.write dic("pgnt")&"<br/>"
response.write dic("info")&"<br/>"
response.write dic("cnt")&"<br/>"
set dic=nothing
rs.close
set rs=nothing
function fAtPgnt(aStr,pSize,rId)
''''''''''''''''''''''''''''''''''''''''''''''''''''''
'ASP 通用文章分页函数(非记录集分页), 返回多个结果, 字典实现 By shawl.qiu
'
'2006-09-04
'''''''''''''''''''''''''''
'输入参数说明:
'aStr 为要分页的字符串
'pSize 为每页大小数字
'rId 为 URL 参数 ID, 默认为 apid, 由函数里的 rName 变量定义
'''''''''''''''''''''''''''
'输出参数说明:
'obj("pgnt") 为文章翻页链接
'obj("info") 为文章统计信息
'obj("cnt") 为文章内容
'''''''''''''''''''''''''''
'sample call:
'''''''''''''
' dim rs, dic
' set rs=createObject("adodb.recordset")
' rs.open "select * from ctat where aid=15783",conn
'
' set dic=fAtPgnt(rs("content"),50000,request.queryString("apid"))
' response.write dic("pgnt")&"<br/>"
' response.write dic("info")&"<br/>"
' response.write dic("cnt")&"<br/>"
' set dic=nothing
'
' rs.close
' set rs=nothing
''''''''''''''''''''''''''''''''''''''''''''''''''''''
if isNumeric(pSize)=false or len(aStr)=0 then exit function
if isNull(rId) or rId="" or isNumeric(rId)=false then rId=1 '如果分页查询ID为空则 ID为 1
dim aStrLen '取文章总长度的变量
aStrLen=len(aStr)
'智能URL字符串替换
dim rqs, url, rName
rqs=request.ServerVariables("QUERY_STRING")
rName="apid"
if rqs="" then
url="?"&rName&"="
elseif instr(rqs,rName)<>0 then
url="?"&replace(rqs,rName&"="&rId,"")&rName&"="
else
url="?"&replace(rqs,"&"&rName&"="&rId,"")&"&"&rName&"="
end if
dim tPg '定义总页数变量
tPg=int(aStrLen/-pSize)*-1
if rId<1 then rId=1 '如果分页查询ID小于1, 则为1
if cLng(rId)>cLng(tPg) then rId=tPg '如果分页查询ID大于总页数, 则为总页数
dim cPg '定义取当前页字符起始位置变量
if rId=1 then cPg=1 else cPg=pSize*(rId-1)+1 '读取文章的起始位置
[1] [2] [3] 下一页