追求新生活 名字2008

活着的意义

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>&nbsp|"
    response.write"&nbsp;<a href='news_list.asp?pageno="&NextPage&"'>下一页</a>"
 end if
 end if
End Function%>
<% rs.close %>

该模块本人认为比较成熟,在asp中可移植性好.只需要知道数据库结构和要输出的是什么字段的内容就ok了.很久不用asp,近来有需要又用到,就写下来和大家分享下。

posted on 2009-10-29 14:41  pyman  阅读(165)  评论(0编辑  收藏  举报

导航