asp之分页笔记-for_xe
05年前。好多人用asp,就算现在也不少人还在用,这也难怪,以前写好好多模块,就算现在也很有用的.毕竟比较成熟.这次就分享下asp的分页,我在几个新闻系统和留言系统中比较常用.以一个新闻系统为例:源码如下
<%
dim sql,mypage,recordcount,pagecount,pageno ,i
i=0
recordcount=0
mypage=8
pageno=request("pageno")
if pageno=" " or pageno=0 then
pageno=1
else
pageno=pageno-1
pageno=pageno+1
end if
%>
//以下开始是从数据库读出来了,这就是框架中要求输出的数据
<% sql="select * from db_news order by news_no desc"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
'以下四行是分页需要调过来的,指定rs.pagesize大小
rs.pagesize=int(mypage)
rowcount=rs.pagesize
rs.AbsolutePage=pageno
do while not rs.eof and rowcount>0
%>
<% '以下是判断输出到页面
if rs("news_pic")<>-1 and rs("news_hot")=-1 then %>
<a href="disp.asp?recno=<%=rs("news_no")%>" onClick="news()" target="news"><%=rs("news_title")%></a>
<% end if %>
<%if rs("news_pic")=-1 then %>
<a href="disp.asp?recno=<%=rs("news_no")%>" onClick="news()" target="news"><img src="<%=rs("newspic_link")%>" width="129" height="114"></a>
<a href="disp.asp?recno=<%=rs("news_no")%>" onClick="news()" target="news"><%=rs("news_title")%></a>
<% end if %>
<%
rowcount=rowcount-1
rs.MoveNext
loop '循环到结束
%>
'接下来就是分页,代码在框架之下就行
总共信息:<%=rs.recordcount%> 条 共 <%if (rs.recordcount)mod(mypage)<>0 then
%>
<%pagecount=rs.recordcount\mypage+1%>
<%else%>
<%pagecount=rs.recordcount/mypage%>
<%end if%>
<%=pagecount%> 页 该页是第<%=pageno%>页<a href="index.asp">首页</a>
<%=pagelist%>
'以下是需要调用到的函数和关闭数据连接
<%Function PageList()
if pagecount>1 then
if pageno=1 then
NextPage=pageno+1
response.write"<a href='news_list.asp?pageno="&NextPage&"'>下一页</a>"
end if
if pageno=pagecount then
PrwePage=pageno-1
response.write "<a href='news_list.asp?pageno="&PrwePage&"'>上一页</a>"
end if
if pageno>1 and pagecount>pageno then
NextPage=pageno+1
PrwePage=pageno-1
response.write "<a href='news_list.asp?pageno="&PrwePage&"'>上一页</a> |"
response.write" <a href='news_list.asp?pageno="&NextPage&"'>下一页</a>"
end if
end if
End Function%>
<% rs.close %>
该模块本人认为比较成熟,在asp中可移植性好.只需要知道数据库结构和要输出的是什么字段的内容就ok了.很久不用asp,近来有需要又用到,就写下来和大家分享下。