页面数据载入中,请等待...
关 于  
页面数据载入中,请等待...
   
 

分页函数

[ 2008-3-20 14:26:00 | By: wo_is神仙 ]

今天我写了个分页函数(ASP+ACCESS),之前在网上搜了下,很多,但是好多都是一大堆的代码,有的的确很强大,杀鸡焉用宰牛刀,所以自己写了个,代码没几行,但是速度也很快。一百万条数据,页面执行时间也就几十毫秒。

我写的这个函数,显示效果有两种。第一种就是5页内,页码左右有“上一页”和“下一页”;第二种是超过5页,页码左右是“前5页”和“后5页”。效果图如下图:

< %
Function pagination(pagecount)
dim myPage,myPageCount,PageNum
  if Len(Request.QueryString("page"))<>0 then
    myPage = clng(Request.QueryString("page"))
  else
    myPage =1
  End if
  if myPage <= 0 then myPage =1
  PageNum = (myPage \ 5)*5+1
  if myPage mod 5 = 0 then PageNum = (myPage \ 5)*5-4

  if myPage <= pagecount then
    if myPage > 5 then
      Response.Write ("< a href="http://www.ygblog.com/"?page=1"">首页")
      Response.Write (" < a href="http://www.ygblog.com/"?page="& PageNum-1 &""">前5页")
    elseif myPage > 1 and pagecount <= 5 then
      Response.Write ("< a href="http://www.ygblog.com/"?page="& myPage-1 &""">上一页")
    End if

    for PageNum = PageNum To PageNum + 4
    if PageNum = myPage then
      Response.Write (" < strong>["& PageNum &"]< /strong>")
    else
      Response.Write (" < a href="http://www.ygblog.com/"?page="& PageNum &""">")
      Response.Write ("["& PageNum &"]")
      Response.Write ("")
    End if
    if PageNum >= pagecount then Exit for
    Next
  End if

  if myPage <= (pagecount - (pagecount mod 5)) and pagecount > 5 then
    Response.Write (" < a href="http://www.ygblog.com/"?page="& PageNum &""">后5页")
    Response.Write (" < a href="http://www.ygblog.com/"?page="& pagecount &""">末页")
  elseif myPage < pagecount and pagecount <= 5 then
    Response.Write (" < a href="http://www.ygblog.com/"?page="& myPage+1 &""">下一页")
  End if
End Function
% >

有需要的朋友可以联系我免费索取

阅读全文 | 回复(5) | 引用通告 | 编辑
  • 标签:ASP 
  • Re:分页函数

    [ 2008-5-5 14:39:00 | By: 飞扬(游客) ]
    飞扬(游客)呵呵,发现游客不能回复,希望给我一个邀请码,
    邮箱是mxl2006@163.com
    还是上面的一个问题
    rsCount = conn.execute ("select count(id) from test",0,1)(0)
    这句话的意思我明白,只是对于execute方法的用法有点不明白,一般他后面是跟一句SQL语句,我想问的是后面的0,1和(0)有何妙用,可能是以前看的资料不太详细,没用见过这种用法,麻烦详细介绍一下,或介绍一本好点的ASP书籍.
    还有就是我JS学的不是太好,有没有比较好入门的JS方面的资料能介绍给我
    个人主页 | 引用 | 返回 | 删除 | 回复

    Re:分页函数

    [ 2008-4-29 16:02:00 | By: 飞扬(游客) ]
    飞扬(游客)还有很多不明白的,我慢慢问,希望您能抽时间帮我解答!!谢谢!!
    以下为wo_is神仙的回复:
    不客气!
    个人主页 | 引用 | 返回 | 删除 | 回复

    Re:分页函数

    [ 2008-4-29 16:01:00 | By: 飞扬(游客) ]
    飞扬(游客)还有这两句,不用EndIfs可以吗,为什么
    if myPage <= 0 then myPage =1
    PageNum = (myPage \ 5)*5+1
    if myPage mod 5 = 0 then PageNum = (myPage \ 5)*5-4
    以下为wo_is神仙的回复:
    写在一行就可以
    个人主页 | 引用 | 返回 | 删除 | 回复

    Re:分页函数

    [ 2008-4-29 15:58:00 | By: 飞扬(游客) ]
    飞扬(游客)不好意思,能不能帮我解释一下下面这句话,有点看不明白,以前没这样用过
    rsCount = conn.execute ("select count(id) from test",0,1)(0)
    以下为wo_is神仙的回复:
    统计test表id字段的数量
    个人主页 | 引用 | 返回 | 删除 | 回复

    Re:分页函数

    [ 2008-4-29 15:43:00 | By: 飞扬(游客) ]
    飞扬(游客)点到末页的时候还会出现显示后5页和末页的链接
    以下为wo_is神仙的回复:
    总页数正好是5的倍数的时候的BUG
    个人主页 | 引用 | 返回 | 删除 | 回复
    发表评论:
    页面数据载入中,请等待...