一个简单的ASP分页程序
类别: ASP教程
本程序主要用到Connection、RecordSet这两个对象,程序中的数据库为Access库,采用OLEDB方式连接库。
这个东西是作为菜鸟的我弄的一个东西.
你可以对这个东西不屑一顾.但是请记住: 菜鸟也有这个权利把自己的心得体会附注文字贡献出来.....当然,技术方面真的是好菜的..一些ASP中的比较正统的中规中矩的方法.我觉得这个东西可能对初学者有些帮助.......见笑了..
一个简单的分页教程:
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& _
server.mappath("mdb.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from table order by id desc"
rs.Open sql, conn, 1
page=1 \' 设置变量PAGE=1
rs.PageSize = 5 \'每页显示记录数
if Not IsEmpty(Request("Page")) then \'如果PAGE已经初始化...
Page = CInt(Request("Page")) \'接收PAGE并化为数字型赋给PAGE变量
if Page > rs.PageCount then \'如果接收的页数大于总页数
rs.AbsolutePage = rs.PageCount \'设置当前显示页等于最后页
elseif Page <= 0 then \'如果page小于等于0
Page = 1 \'设置PAGE等于第一页
else
rs.AbsolutePage = Page \'如果大于零,显示当前页等于接收的页数
end if
End if
Page = rs.AbsolutePage
%>
<%
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if \'利用for next 循环依次读出记录
%>
上面的代码只需要改动Rs.pagesize=5,把5改为你想显示的记录数.比如说
改为10.那么每页就是显示10页.还需要修改的是select语句.就是你要检索的数据库了.
也就是说放到任何一个系统中上面的代码只需很小的改动都可以直接拿过来用.
然后:就是要循环读出记录的显示内容了..............比如
<table width=50 border=1 align=center>
<tr>
<TD><% =rs("内容") %></td>
</tr>
</table>
<%
rs.MoveNext
next
%>
当然也可以改为response.write输出.那是你的事了.你可以自由发挥版面样式.
最后,添加"下一页,上一页"的链接:
<%if request("page")>1 then%>
<a Href="test.asp?Page=<% = 1%>">首页</a>
<a Href="test.asp?Page=<% =request("page") -1 %>">上一页</a>
<%end if %>
<%if request("page")<>rs.pagecount then %>
<a Href="test.asp?Page=<% =request("page") + 1%>">下一页</a>
<a Href="test.asp?Page=<% = rs.PageCount%>">尾页</a>
<% end if %>
上面的代码反正不管三七二十一只管复制粘贴.只需把"fenye.asp"改成你自己的文件名就可以了.随便把这段代码放在什么地方?就是你想让它出现下一页下一页链接的地方吧.
最后.关闭记录集释放资源:
<%
rs.close
Set rs = Nothing
conn.close
set conn=nothing
%>
一个非常简单的分页函数就完成了.以后随便做什么程序反正只管套用这个好了.绝对没错的.当然这个程序还有很多错误.....不足之处还望高手多多批评指正.小弟献丑了.......^_^.......
这个东西是作为菜鸟的我弄的一个东西.
你可以对这个东西不屑一顾.但是请记住: 菜鸟也有这个权利把自己的心得体会附注文字贡献出来.....当然,技术方面真的是好菜的..一些ASP中的比较正统的中规中矩的方法.我觉得这个东西可能对初学者有些帮助.......见笑了..
一个简单的分页教程:
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& _
server.mappath("mdb.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from table order by id desc"
rs.Open sql, conn, 1
page=1 \' 设置变量PAGE=1
rs.PageSize = 5 \'每页显示记录数
if Not IsEmpty(Request("Page")) then \'如果PAGE已经初始化...
Page = CInt(Request("Page")) \'接收PAGE并化为数字型赋给PAGE变量
if Page > rs.PageCount then \'如果接收的页数大于总页数
rs.AbsolutePage = rs.PageCount \'设置当前显示页等于最后页
elseif Page <= 0 then \'如果page小于等于0
Page = 1 \'设置PAGE等于第一页
else
rs.AbsolutePage = Page \'如果大于零,显示当前页等于接收的页数
end if
End if
Page = rs.AbsolutePage
%>
<%
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if \'利用for next 循环依次读出记录
%>
上面的代码只需要改动Rs.pagesize=5,把5改为你想显示的记录数.比如说
改为10.那么每页就是显示10页.还需要修改的是select语句.就是你要检索的数据库了.
也就是说放到任何一个系统中上面的代码只需很小的改动都可以直接拿过来用.
然后:就是要循环读出记录的显示内容了..............比如
<table width=50 border=1 align=center>
<tr>
<TD><% =rs("内容") %></td>
</tr>
</table>
<%
rs.MoveNext
next
%>
当然也可以改为response.write输出.那是你的事了.你可以自由发挥版面样式.
最后,添加"下一页,上一页"的链接:
<%if request("page")>1 then%>
<a Href="test.asp?Page=<% = 1%>">首页</a>
<a Href="test.asp?Page=<% =request("page") -1 %>">上一页</a>
<%end if %>
<%if request("page")<>rs.pagecount then %>
<a Href="test.asp?Page=<% =request("page") + 1%>">下一页</a>
<a Href="test.asp?Page=<% = rs.PageCount%>">尾页</a>
<% end if %>
上面的代码反正不管三七二十一只管复制粘贴.只需把"fenye.asp"改成你自己的文件名就可以了.随便把这段代码放在什么地方?就是你想让它出现下一页下一页链接的地方吧.
最后.关闭记录集释放资源:
<%
rs.close
Set rs = Nothing
conn.close
set conn=nothing
%>
一个非常简单的分页函数就完成了.以后随便做什么程序反正只管套用这个好了.绝对没错的.当然这个程序还有很多错误.....不足之处还望高手多多批评指正.小弟献丑了.......^_^.......
- 上一篇: 禁止站外提交表单
- 下一篇: ASP常见问题(新手)
-= 资 源 教 程 =-
文 章 搜 索