以文本方式查看主题 - ╋艺 镇╋ (http://wdystv.com/bbs/index.asp) -- ┣◇网站建设&Web语言 (http://wdystv.com/bbs/list.asp?boardid=4) ---- ASP分页函数,带输入页码跳转(网摘) (http://wdystv.com/bbs/dispbbs.asp?boardid=4&id=3241) |
-- 作者:admin -- 发布时间:2011/10/10 16:12:53 -- ASP分页函数,带输入页码跳转(网摘) 将下列的代码保存为a.asp,在需要调用的页面用<!-- #include file="相对路径/a.asp -->将其包含。函数名为fy()
’翻页函数 参数列表: ’sql 查询所有记录条数的SQL语句,必须包含:select count(*) as num from ... ’page 当前页码, ’pagelistnum每页显示记录数 ’pagenum每页显示的页码数 ’link要链接到的链接地址 function fy(sql,page,pagelistnum,pagenum,link) link=link dim rs,znum,zpage,i,a,b page=cint(page)’将PAGE转换为整型 set rs=server.CreateObject("adodb.recordset") rs.open sql,conn,1,1 znum=rs("num") ’得到总页数 zpage=znum\\pagelistnum if znum mod pagelistnum>0 then zpage=zpage+1 ’ response.Write "共" & zpage & "页,第" & page & "页 " ’得到第一页、上一页链接
a=0 b=pagenum ’控制显示页数 i=1 if page>(b/2) then if page=1 then else response.Write "<a href=" & link & "&page=1><<</a>" end if i=page-cint(b/2) do while i<=zpage and i<=page+(b/2) if i=page then response.Write " <a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>" else response.Write " <a href=" & link & "&page="&i&">"&i&"</a>" end if i=i+1 loop %> <input type=’text’ size=’2’ style=’height: 18px; border:1px solid #FFCC99’ > <% if page<>zpage then response.write "<a href=" & link & "&page=" & zpage & ">>></a>" response.write" 页次:"&page&"/"&zpage else if page=1 then else response.Write "<a href=" & link & "&page=1><<</a>" end if do while i<=zpage and i<=b if i=page then response.Write " <a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>" else response.Write " <a href=" & link & "&page="&i&">"&i&"</a>" end if i=i+1 loop %> <input type=’text’ size=’2’ style=’height: 18px; border:1px solid #FFCC99’ > <% if page<>zpage then response.Write "<a href=" & link & "&Page=" & zpage & ">>></a> 页次:"&page&"/"&zpage else response.write" 页次:"&page&"/"&zpage end if end if response.write(" "&pagelistnum&"篇/页") rs.close set rs=nothing end function
2、调用,在需要调用的asp文件内加入如下代码,这里假设需调用的文件为List.asp
<!-- #include file="相对路径/a.asp --> <% if request.QueryString("page")="" then page=1 else page=request.QueryString("page") end if pagelistnum=9 ’设置每页显示条数 pagenum=10 ’设置每页显示页码数 sql="select top " & (page*pagelistnum) & " * from ..." ’调用数据库的语句,...处你自已想点写点写了 set rs=server.createobject("adodb.recordset") ’创建recordset对象 rs.PageSize=pagelistnum ’用pagelistnum变量设定数据库每页显示数 response.write(rs("id")) ’这里请自已设定要输出的数据库内容项
rs.movenext ’指针移至下一记录 %> ... <br> <% fy sqlfy,page,pagelistnum,pagenum,"list.asp?" %> ’分页函数调用,这里假设本文件名为list.asp |