<%
'===================================================================
'showmorepage asp版本
'version huangjm1.00
'code by maomao
'create date 2004-09-28
'qq:5144707
'http://blog.csdn.net/maomaoysq
'write for my lover:huangjm '本程序可以免费使用、修改,但请保留以上信息
'
'function
'本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义,
'支持url多个参数:http://www.***.com/***.asp?aa=1&page=9&bb=2
'
'
'paramers:
'papgesize 定义分页每一页的记录数
'getcurpagenum 返回当前页的记录集数目此属性只读
'getrs 返回经过分页的recordset此属性只读
'getconn 得到数据库连接
'getsql 得到查询语句
'interface of class
'showpage 显示分页导航条,唯一的公用方法
'
'#############类调用样例#################
'创建对象
'set hjmpage=new showmorepage
'得到数据库连接
'hjmpage.getconn=conn
'sql语句
'hjmpage.getsql="select * from shop_books where newsbook=1 order by bookid desc"
'设置每一页的记录条数据为20条,默认显示10条
'hjmpage.pagesize=20
'显示分页信息,可在任意位置调用,可以调用多次
'hjmpage.showpage()
'set rs=hjmpage.getrs() '返回recordset
'显示数据开始
'这里就可以自定义显示方式了
'for i=1 to hjmpage.getcurpagenum '当前页的记录数目
'response.write left(trim(rs("bookname")),13)&"...."
'rs.movenext
'next
'显示数据结束
'set hjmpage=nothing
'#############类调用样例#################
'===================================================================
const btn_first="<font face=""webdings"">9</font>" '定义第一页按钮显示样式
const btn_prev="<font face=""webdings"">3</font>" '定义前一页按钮显示样式
const btn_next="<font face=""webdings"">4</font>" '定义下一页按钮显示样式
const btn_last="<font face=""webdings"">:</font>" '定义最后一页按钮显示样式
const xd_align="center" '定义分页信息对齐方式
const xd_width="100%" '定义分页信息框大小
class showmorepage
private obj_conn,obj_rs,str_sql,int_pagesize,str_errors,int_curpage,str_url,int_totalpage,int_totalrecord
'=================================================================
'pagesize 属性
'设置每一页的分页大小
'=================================================================
public property let pagesize(intvalue)
if isnumeric(intvalue) then
int_pagesize=clng(intvalue)
else
str_errors=str_errors & "pagesize的参数不正确"
showerror()
end if
end property
public property get pagesize
if int_pagesize="" or (not(isnumeric(int_pagesize))) then
pagesize=10
else
pagesize=int_pagesize
end if
end property
'=================================================================
'getrs 属性
'返回分页后的记录集
'=================================================================
public property get getrs()
if int_totalrecord= 0 then call getpage()
if not(obj_rs.eof and obj_rs.bof) then
if int_curpage<>1 then
if int_curpage-1<int_totalpage then
obj_rs.move (int_curpage-1)*pagesize
dim bookmark
bookmark=obj_rs.bookmark
else
int_curpage=1
end if