通用的asp分页函数代码
这是我asp
程序中最常用,最通用的一个asp分页函数,适合所有表,在整个网站的开发过程中,只用这一个就可以解决所有分页
问题,并且允许带入不同的参数。
<%
'功能:
常用的asp分页函数
'开发:
aspbc '作者:wangsdong
'
原创文章,转载请保存此信息
'参数含义:
'page当前页
'page_size每页总数
'recordset_count总数
'str字符串
Function fpage(page, page_size, recordset_count, Str)
If recordset_count = 0 Or IsNull(recordset_count) Then Exit Function
If Str<>"" Then
s = Split(Str, "|")
s2 = ""
For i = 0 To UBound(s)
s2 = s2&;"&;"&;s(i)&;"="&;server.URLEncode(request(s(i)))
Next
End If
Dim str9
str9 = ""
page = CInt(page)
If recordset_count Mod page_size = 0 Then
page_count = recordset_count \ page_size
Else
page_count = recordset_count \ page_size+1
End If
str9 = str9&;"
首页 "
If page>4 Then
s = page -3
Else
s = 1
End If
If page<= page_count -3 Then
e = page+3
Else
e = page_count
End If
For i = s To e
If i = page Then
str9 = str9&;"
"&;i&;" "
Else
str9 = str9&;"
"&;i&;" "
End If
Next
str9 = str9&;"
末页 第 ("&;page&;"/"&;page_count&;") 页"
fpage = str9
End Function
%>
使用方法:
1、分页不需要参数
<%
'先得到符合条件的记录总数
'地址如:aspbc/list.asp 后面没有参数
sql = "select count(*) as num from table where ……"
countnum = conn.Execute(sql)
'然后调用这个函数
page = request("page") ’得到当前页数
If page = "" Then page = 1
page_size = 10 '当前每页10条
Str = "" '不传参数,也就是地址栏没有参数
'调用函数
response.Write fpage(page, page_size, Count, Str)
%>
2、分页需要参数
<%
'先得到符合条件的记录总数
'地址如:aspbc/list.asp?classid=1&;cid=2
'后面有classid和cid两个参数
sql = "select count(*) as num from table where ……"
countnum = conn.Execute(sql)
'然后调用这个函数
page = request("page") ’得到当前页数
If page = "" Then page = 1
page_size = 10 '当前每页10条
Str = "classid|cid" '不传参数,也就是地址栏没有参数
'调用函数
response.Write fpage(page, page_size, Count, Str)
%>