主题:  谁能教我怎样分页

mmm1234567

职务:普通成员
等级:1
金币:-1.0
发贴:2
#12005/3/27 14:56:04
我上一全初学ASP的人希望那个高手能教我如何编分页程序,先谢了。



ttx830910

职务:普通成员
等级:1
金币:0.0
发贴:23
#22005/4/17 0:00:54
<!--#include Virtual="page.inc"-->
语句即可:
page.inc
<%
Sub ShowPageBar(TotalPage,CurPage,strUrl)
' 参数TotalPage:全部页数;CurPage:当前页数;strUrl:翻页使用的连接地址

DIM strPage
CurPage=GetValidPageNO(TotalPage,CurPage)
Response.Write "<TABLE WIDTH=''100%''>"
Response.Write "<TR><td width=''100%'' align=''right''>"
Response.Write "页数:" & CurPage & "/" & TotalPage & " "
IF InSTR(strUrl,"?"=0 THEN
strPage="?Page="
ELSE
strPage="&Page="
END IF

IF Curpage>1 THEN
Response.Write "<a href=" & strUrl &strPage&"1>第一页</a>"
ELSE
Response.Write "第一页"
END IF

IF CurPage>=2 THEN
Response.Write "<a href=" & strUrl & strPage &CurPage-1&">上一页</a>"
ELSE
Response.Write "上一页"
END IF

IF cInt(CurPage)<cInt(TotalPage) THEN
Response.Write "<a href=" & strUrl & strPage &CurPage+1&">下一页</a>"
ELSE
Response.Write "下一页"
END IF

IF cInt(CurPage) <>cInt(TotalPage) THEN
Response.Write "<a href=" & strUrl & strPage & TotalPage&">最末页</a>"
ELSE
Response.Write "最末页"
END IF
Response.Write "</TD></tr></table>"
END SUB

Function GetValidPageNo(PageCount,CurPage)
Dim iPage
iPage=CurPage
IF cInt(CurPage)<1 THEN
iPage= 1
END IF
IF cInt(iPage) > cInt(PageCount) THEN
iPage= PageCount
END IF
GetValidPageNo=iPage
END Function
%>

看看引用这个函数的例子:
chunfeng.asp
<!--#include Virtual="page.inc"-->
<%
SET objConn=Server.CreateObject("ADODB.CONNECTION"
SET objRst=Server.CreateObject("ADODB.RECORDSET"
objConn.Open APPLICATION("dsn"

strSQL="SELECT * FROM 要使用的查询
objRst.Open strSQL,objConn,adOpenStatic
' 打开数据记录
objRst.PageSize=20
' 设置单页的数据记录数
iPageCount=objRst.PageCount
' 定义了一个页码数量的变量
If Len(Request.QueryString("Page")=0 Then
CurPage=1
Else
CurPage=CInt(Request.Querystring("Page")
End If
' 得到当前的页码
objRst.AbsolutePage=CurPage
' 设置记录集中的当前页

' 开始调用显示翻页的函数,显示页数栏
' 函数原型:ShowPageBar(TotalPage,CurPage,strUrl)
strUrl="chunfeng.asp"
' 定义连接的URL,可以用我们自己的页面地址
ShowPageBar iPageCount,CurPage,strUrl
' 调用完成

----------------------------------------------------------------------------------------------------------------
这里显示自己的内容
----------------------------------------------------------------------------------------------------------------

objConn.Close
SET objRst=NOTHING
SET objConn=NOTHING
%>



古剑刀

职务:普通成员
等级:1
金币:0.0
发贴:41
#32005/4/17 13:26:05
!!与mmm1234567的问题有关:
我在建立recordSet对象后,使用了pigeSize属性,但是absolutePage永远是-1,提示说我的记录集不支持光标类型,有什么办法吗?
如果这个问题解决了,那么我觉得mmm1234567的问题似乎没必要自己写函数了,ttx830910,您说呢?



进军.net

职务:普通成员
等级:1
金币:0.0
发贴:105
#42005/4/18 10:12:52
rec.cursortype=adopendynamic 或 adOpenStatic



古剑刀

职务:普通成员
等级:1
金币:0.0
发贴:41
#52005/4/21 14:33:19
yangjp:
谢谢你!我试一试,如果不行,我在请教.