28,390
社区成员
发帖
与我相关
我的任务
分享
'ASP分页函数----------------------------
'Author:BreezeXu
'Date:2008-12-28
'使用方法
'Set Rsc = Server.CreateObject("ADODB.Recordset")
'Sqlc = "select id,pro_name,pro_pic from rec_pro order by id desc"
'Rsc.open sqlc,conn,3,3
'if not Rsc.eof then
'Dim i
'i=0
'分页前加上以下2句话
'Rsc.absolutepage = pageset(Rsc,18)
'pag = Rsc.absolutepage
'do while not Rsc.eof and i<Rsc.pagesize
'i = i+1
'''''在这里写循环内容'''
'Rsc.movenext
'loop
'以下是显示上页,下页,跳转页等内容,可以用<tr><td>或者table包含他
'注意,Rs.close Set Rs = Nothing必须要写在以下函数的后面,否则调用会出错
'下下函数是要不要跳转到指定锚点,选其一,要跳到指定锚点就用第一个,函数的最后个参数是你设置锚点的名字,不用跳转到锚点就用第2个,最后个参数要留空,否则出错
'call page(Rsc,pag,"index.asp","maopage")'跳转到锚点的分页调用
'call page(Rsc,pag,"index.asp","")'不跳转到锚点的分页调用
Dim pag,allpages
pag=Request("pages")
if pag="" or isnumeric(pag)=false then
pag=1
else
pag=Abs(pag)
end if
'参数注释:
'Rs--数据集
'pagesize---每页显示条数
function pageset(Rs,pagesize)
Rs.pagesize=pagesize
pages=Rs.pagecount
Records=Rs.recordcount
currentpage=Cint(pag)
if currentpage="" or currentpage<1 then Currentpage=1
If currentpage>pages Then currentpage=pages
currentpage=CInt(currentpage)
Rs.absolutepage=currentpage
pageset = Rs.absolutepage
end function
'参数注释:
'Rs--数据集
'pag ----当前页
'site---- 地址
'mep ---铆点名,可选,不设要留空""
function page(Rs,pag,site,mep)
'response.write "总条数"&Rs.recordcount&"<br />"
'response.write "当前页"&pag&"<br />"
'response.write "每页显示"&Rs.pagesize&"<br/>"
'response.write "地址为"&site&"<br />"
'response.write "最后页"&(Rs.recordcount\Rs.pagesize)+1
if Rs.Recordcount<>Rs.pagesize then
if Rs.Recordcount mod Rs.pagesize =0 then
allpages=(Rs.recordcount\Rs.pagesize)
else
allpages=(Rs.recordcount\Rs.pagesize)+1
end if
else
allpages=1
end if
if instr(site,"?")<>0 then
myand="&"
else
myand="?"
end if
if mep<>"" then
mymep = mep
end if
if pag*Rs.pagesize<Rs.recordcount then
nt=pag*Rs.pagesize
else
nt=Rs.recordcount
end if
pageft= "显示<b>"&(pag-1)*Rs.pagesize+1&"</b>-<b>"&nt&"</b>条记录,共<font color='red'>"&Rs.recordcount&"</font>条记录 "
if pag=1 then
pageft=pageft& "首页 前页 "
else
if mep<>"" then
pageft=pageft& "<a href='"&site&myand&"pages=1#"&mymep&"'>首页</a> <a href='"&site&myand&"pages="&pag-1&"#"&mymep&"'>前页</a> "
else
pageft=pageft& "<a href='"&site&myand&"pages=1'>首页</a> <a href='"&site&myand&"pages="&pag-1&"'>前页</a> "
end if
end if
'if pag=(Rs.recordcount\Rs.pagesize)+1 then
if pag=allpages then
pageft=pageft& "后页 尾页"
else
if mep<>"" then
pageft=pageft& "<a href='"&site&myand&"pages="&pag+1&"#"&mymep&"'>后页</a> "
pageft=pageft& "<a href='"&site&myand&"pages="&(Rs.recordcount\Rs.pagesize)+1&"#"&mymep&"'>尾页</a>"
else
pageft=pageft& "<a href='"&site&myand&"pages="&pag+1&"'>后页</a> "
pageft=pageft& "<a href='"&site&myand&"pages="&(Rs.recordcount\Rs.pagesize)+1&"'>尾页</a>"
end if
end if
if mep<>"" then
pageft=pageft& "到第 <select name='topage' id='topage' size='1' onchange="&chr(34)&"window.location='"&site&myand&"pages='+this.value+'#"&mymep&"';"&chr(34)&">"
else
pageft=pageft& "到第 <select name='topage' id='topage' size='1' onchange="&chr(34)&"window.location='"&site&myand&"pages='+this.value;"&chr(34)&">"
end if
for i=1 to allpages
if i=pag then
pageft=pageft& "<option value='"&i&"' selected>"&i&"</option>"
else
pageft=pageft& "<option value='"&i&"'>"&i&"</option>"
end if
next
pageft=pageft& "</select>页,共"&allpages&"页"
response.write pageft
end function