╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → ASP分页函数,带输入页码跳转(网摘)


  共有20842人关注过本帖树形打印复制链接

主题:ASP分页函数,带输入页码跳转(网摘)

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
ASP分页函数,带输入页码跳转(网摘)  发帖心情 Post By:2011/10/10 16:12:53 [显示全部帖子]

将下列的代码保存为a.asp,在需要调用的页面用<!-- #include file="相对路径/a.asp -->将其包含。函数名为fy()
具体如下:
1、创建a.asp文件,内容为如下代码:

 

’翻页函数 参数列表:   

’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 "&nbsp;<a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>"   

       else   

       response.Write "&nbsp;<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"&nbsp;页次:"&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 "&nbsp;<a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>"   

      else   

      response.Write "&nbsp;<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>&nbsp;页次:"&page&"/"&zpage   

      else   

      response.write"&nbsp;页次:"&page&"/"&zpage   

      end if   

    end if   

    response.write("&nbsp;"&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 ..."  ’调用数据库的语句,...处你自已想点写点写了
sqlfy="select count(*) as num from ... ’这里的...要与上面sql的...相同   

set rs=server.createobject("adodb.recordset") ’创建recordset对象
rs.open sql,conn,1,1

rs.PageSize=pagelistnum  ’用pagelistnum变量设定数据库每页显示数
rs.AbsolutePage=page  ’用page变量设定当前页
do while not rs.eof

response.write(rs("id"))   ’这里请自已设定要输出的数据库内容项
...

 

rs.movenext  ’指针移至下一记录
loop

%>   

...

<br>

<% fy sqlfy,page,pagelistnum,pagenum,"list.asp?" %> ’分页函数调用,这里假设本文件名为list.asp

http://kejianfeng.blog.163.com/blog/static/3219859200777825329/



  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部