首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

:关于asp的分页有关问题

2012-02-28 
在线等:关于asp的分页问题从网络上找的一个分页函数,我调用的时候只能第一页能显示,其它页都无法显示。哪位

在线等:关于asp的分页问题
从网络上找的一个分页函数,我调用的时候只能第一页能显示,其它页都无法显示。哪位帮我看下我的调用中哪出了问题。
同时不知道这个querry要设置的值是什么。

<!--#include   file= "conn.asp "-->
<!--#include   file= "inc/page_list.asp "-->
<%
set   plist=new   page_list

set   rs=server.createobject( "adodb.recordset ")
sql= "select   *   from   news   "
rs.open   sql,conn,3,1
plist.CalcPage   totalrec,msg_per_page,currentpage,n,rowcount,rs

  while   not   Rs.eof   and   rowcount> 0
  response.write   rs(0)& ". "&rs(1)& " <br> "
  Rs.movenext
  rowcount=rowcount-1
  wend
response.write   " <br> "
ListType= "1 "
url= " "
querry= " "
separator= "| "
ListLink= " "
plist.PageList   ListType,url,querry,Separator,ListLink
%>

==============
page_list.asp
==============
<%
class   Page_List
private   Sub   Class_Initialize  
Version= "ASP分页类     Version   1.0 "
end   sub
Private   Sub   Class_Terminate  
Version= " "
end   sub
'分页函数分为两个函数
'CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs)   分页计算函数
'PageList(ListType,url,querry,Separator,ListLink)   分页列表函数

'分页计算函数
'totalrec   记录集总数
'msg_per_page   每页显示的记录数,在调用CalcPage时需提前对该变量赋值
'currentpage   当前页变量,在调用CalcPage时需提前对该变量赋值
'n   总页数    
'rowcount   设置每一页的数据记录数
'PageRs   记录集对象
public   sub   CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs)
  n=0   '设置无记录时页数为0  
  totalrec=0
  if   msg_per_page= " "   then   msg_per_page=1
  if   currentpage= " "   then   currentpage=0
  'PageRs.EOF   and   PageRs.bof     无记录
  'Not   PageRs.EOF   Or   Not   PageRs.BOF   有记录
  if   Not   PageRs.EOF   Or   Not   PageRs.BOF   then  
    totalrec=PageRs.recordcount
    PageRs.pagesize=msg_per_page
    if   totalrec   mod   msg_per_page   =   0   then   '计算总页数,recordcount:数据的总记录数
      n   =   totalrec\msg_per_page   'n:总页数
    else  
      n   =   totalrec\msg_per_page+1  
    end   if  
    if   not   isnumeric(currentpage)   or   currentpage= " "   then   currentpage=1
    if   currentpage   <>   " "   then
      currentpage   =   cint(currentpage)
    end   if
    if   currentpage   <   1   then  
      currentpage   =   1
    end   if  
    if   currentpage*msg_per_page   >   totalrec   and   not((currentpage-1)*msg_per_page   <   totalrec)   then  
      currentPage=1
    end   if
    PageRs.absolutepage   =   currentpage   'absolutepage:设置指针指向某页开头
    rowcount   =   PageRs.pagesize                         'pagesize:设置每一页的数据记录数


    else
    currentpage=0
  end   if
end   sub
'分页列表函数
'url   跳转的地址
'querry   ?后的参数
'Separator   分隔符
'ListType   分页类型
'类型:0   "第一页   |   前一页   |   下一页   |   最后页 "
'类型:1   "1   |   2   |   3   |   4   |   ..........|   下一页 "
'类型:2   "第一页   |   前十页   |   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9   |   10   |   后十页   |   最后页 "
'ListLink   链接使用的样式

public   sub   PageList(ListType,url,querry,Separator,ListLink)
  if   Separator= " "   then   Separator= "| "
  if   ListType= " "   then   ListType= "0 "
  select   case   ListType
    case   "0 "
      response.write "第 "&currentpage& "/ "&n& "页&nbsp;&nbsp; "  
      response.write "共 "&totalrec& "条信息&nbsp;&nbsp; "
      if   currentpage   <=   1   then
      response.write "第一页&nbsp; "&Separator& "&nbsp; "
      response.write "前一页&nbsp; "&Separator& "&nbsp; "
      else
      response.write " <a   href= " " "&url& "?page=1& "&querry& " " "   class= " " "&ListLink& " " "> 第一页 </a> &nbsp; "&Separator& "&nbsp; "  
      response.write " <a   href= " " "&url& "?page= "&currentpage-1& "& "&querry& " " "     class= " " "&ListLink& " " "> 前一页 </a> &nbsp; "&Separator& "&nbsp; "  
      end   if
      if   currentpage   =   n   then
      response.write "下一页&nbsp; "&Separator& "&nbsp; "
      response.write "最后页&nbsp; "
      else
      response.write " <a   href= " " "&url& "?page= "&currentpage+1& "& "&querry& " " "     class= " " "&ListLink& " " "> 下一页 </a> &nbsp; "&Separator& "&nbsp; "
      response.write " <a   href= " " "&url& "?page= "&n& "& "&querry& " " "   class= " " "&ListLink& " " "> 最后页 </a> &nbsp; "
      end   if
    case   "1 "
      if   currentpage   <   n   then
        response.write " <a   href= " " "&url& "?page= "&currentpage+1& "& "&querry& " " "   class= " " "&ListLink& " " "> 下一页 </a> &nbsp; "        
      else


        response.write "下一页&nbsp; "        
      end   if
      for   i=1   to   n
        if   cstr(i)=cstr(currentpage)   then
          response.write   " <b> "&i& " </b> "& "&nbsp; "&Separator& "&nbsp; "
          else
            response.write " <a   href= " " "&url& "?page= "&i& "& "&querry& " " "   class= " " "&ListLink& " " "> "&i& " </a> &nbsp; "&Separator& "&nbsp; "    
        end   if
      next
     
    case   "2 "
      PageMerCout=10   '每次可翻的最大页数
      '取得记录的最大页码段
      if   n   mod   PageMerCout=0   then
        MaxPageFiled=n\PageMerCout
      else
        MaxPageFiled=n\PageMerCout+1
      end   if
      '判断当前页所在的页码段
      if   currentpage   mod   PageMerCout   =0   then
        CurrPageFiled=currentpage\PageMerCout
      else
        CurrPageFiled=currentpage\PageMerCout+1
      end   if
      '取得当前页码段的最大页码和最小页码
      MaxPageNo=CurrPageFiled*PageMerCout
      MinPageNo=(CurrPageFiled-1)*PageMerCout+1
      if   MinPageNo <0   then   MinPageNo=0
      '输出   “第一页   |   前十页   |”
      if   currentpage <=1   then
        response.write "第一页&nbsp; "&Separator& "&nbsp; "  
      else
        response.write " <a   href= " " "&url& "?page=1& "&querry& " " "   class= " " "&ListLink& " " "> 第一页 </a> &nbsp; "&Separator& "&nbsp; "  
      end   if
      if   CurrPageFiled <=1   then
        response.write "前十页&nbsp; "&Separator& "&nbsp; "              
      else
        response.write " <a   href= " " "&url& "?page= "&MinPageNo-PageMerCout& "& "&querry& " " "   class= " " "&ListLink& " " "> 前十页 </a> &nbsp; "&Separator& "&nbsp; "              
      end   if
      '输出当前页码段
      for   i=MinPageNo   to   MaxPageNo
        if   i <=n   then
          if   cstr(i)=cstr(currentpage)   then
            response.write   " <b> "&i& " </b> "& "&nbsp; "&Separator& "&nbsp; "


            else
              response.write " <a   href= " " "&url& "?page= "&i& "& "&querry& " " "> "&i& " </a> &nbsp; "&Separator& "&nbsp; "    
          end   if
        end   if
      next
      '输出   “后十页   |   最后页”
      if   CurrPageFiled> =MaxPageFiled   then
        response.write "后十页&nbsp; "&Separator& "&nbsp; "              
      else
        response.write " <a   href= " " "&url& "?page= "&MaxPageNo+1& "& "&querry& " " "   class= " " "&ListLink& " " "> 后十页 </a> &nbsp; "&Separator& "&nbsp; "              
      end   if
      if   currentpage> =n   then
        response.write "最后页&nbsp; "    
      else
        response.write " <a   href= " " "&url& "?page= "&n& "& "&querry& " " "   class= " " "&ListLink& " " "> 最后页 </a> &nbsp; "    
      end   if
  end   select
end   sub
end   class
%>

[解决办法]
www.blueidea.com/tech/program/2003/718.asp
[解决办法]

试试这个
<%

set rs = Server.CreateObject( "ADODB.Recordset ")
sql = "Select * from news "
rs.Open sql, conn, 3

rs.PageSize = 10
if (Request( "page ").Count > 0) then

iPage = Request( "page ") / 1
if (iPage < 1) then
iPage = 1
elseif (iPage > rs.PageCount) then
iPage = rs.PageCount
end if
else

iPage = 1
end if

rs.AbsolutePage = iPage
%>
<%Response.Write( "当前第 " & iPage & "页,共 " & rs.PageCount & "页 ")
%>
<%
if (iPage <> 1) then
Response.Write( " <a href= news.asp?page=1 > [第一页] </a> " )
Response.Write( " <a href= news.asp?page= " & iPage-1 & "> [上一页] </a> ")
end if

if (iPage <> rs.PageCount) then
Response.Write( " <a href= news.asp?page= " & iPage+1 & "> [下一页] </a> ")
Response.Write( " <a href= news.asp?page= " & rs.pageCount & "> [最后页] </a> ")
end if
%>

热点排行