shawl.qiu asp 记录集分页类(vbscript 1.0 && jscript 1.1)

shawl.qiu asp 记录集分页类(vbscript 1.0 && jscript 1.1)

说明:
这个没多大技术含量, 就不说明了...

目录:
1. vbscript
1.1 vbscript pagination 类
1.2 vbscript pagination 类使用参考

2. jscript
2.1 jscript pagination 类
2.2 jscript pagination 类使用参考

shawl.qiu
2007-01-22
http://blog.csdn.net/btbtd

内容:
1. vbscript
1.1 vbscript pagination 类
  1.  '---------------------------------------------------------------------'
  2.  ' shawl.qiu asp/vbscript 记录集分页类 v1.0
  3.  '---------------------------------------------------------------------'
  4.  '---------------------------------------------------------------------begin class pagination
  5.  class pagination
  6.   '------------------------------------begin event
  7.   private sub class_initialize()
  8.    auSubject="shawl.qiu asp/vbscript 记录集分页类"
  9.    auVersion="v1.0"
  10.    au="shawl.qiu"
  11.    auEmail="shawl.qiu@gmail.com"
  12.    auBlog="http://blog.csdn.net/btbtd"
  13.    auCreateDate="2007-1-21"
  14.    
  15.    pagesize=10
  16.    absltpage=1
  17.    listnum=10
  18.    queryid="page"
  19.    
  20.    wordFirst="首页"
  21.    wordPreviousTen="上十"
  22.    wordPrevious="上一"
  23.    wordNext="下一"
  24.    wordNextTen="下十"
  25.    wordLast="末尾"
  26.    
  27.    cssCrCurLink="#FFCCFF"
  28.    cssCrNoneLink="#ccc"
  29.    cssJumpBox="border:0px;border-bottom:1px dashed black;"
  30.    
  31.    bGetRs=false
  32.    iRecordCount=0
  33.    
  34.    debug=false
  35.   end sub
  36.   
  37.   private sub class_terminate()
  38.   
  39.   end sub
  40.   '------------------------------------end event
  41.   
  42.   '------------------------------------begin public variable
  43.   '---------------begin about
  44.   public auSubject, auVersion, au, auEmail, auBlog, auCreateDate
  45.   '---------------end about
  46.   public pagesize
  47.   public absltpage
  48.   public listnum
  49.   public queryid
  50.   
  51.   public wordFirst
  52.   public wordPreviousTen
  53.   public wordPrevious
  54.   public wordNext
  55.   public wordNextTen
  56.   public wordLast
  57.   
  58.   public cssCrCurLink
  59.   public cssCrNoneLink
  60.   public cssJumpBox
  61.   
  62.   public debug
  63.   '------------------------------------end public variable
  64.   
  65.   '------------------------------------begin public method
  66.   
  67.   '------------------------------------end public method
  68.   public property get list()
  69.    suGetList()
  70.   end property
  71.   
  72.   public property get info()
  73.    suInfo()
  74.   end property
  75.   
  76.   public property let rs(byref oRs)
  77.    set rs_=oRs
  78.   end property
  79.   '------------------------------------begin private variable
  80.   
  81.   '------------------------------------end private variable
  82.   private bGetRs
  83.   private iRecordCount
  84.   private rs_
  85.   '------------------------------------begin private method
  86.   private sub suGetList()
  87.    if rs_.eof or rs_.bof then exit sub '记录集为空'
  88.    
  89.    if not isNumeric(absltpagethen absltpage=1
  90.    absltpage=absltpage-0
  91.    
  92.    iRecordCount=rs_.RecordCount
  93.    
  94.    if iRecordCount<pagesize then exit sub '分页数大于记录总炸
  95.    bGetRs=true
  96.    
  97.    dim iPgAll:iPgAll=int(iRecordCount/-pagesize)*-1
  98.    
  99.    if absltpage<1 then absltpage=1
  100.    if absltpage>iPgAll then absltpage=iPgAll
  101.    
  102.    rs_.PageSize=pagesize
  103.    rs_.AbsolutePage=absltpage
  104.    
  105.    dim iNumLink
  106.    dim sUrl:sUrl="?"&Request.ServerVariables("query_string")&"&"&queryid&"="
  107.     sUrl=fRe(sUrl, falsetruefalse, "/b"&queryid&"/=.*[^&]", queryid&"=")
  108.     sUrl=fRe(sUrl, falsetruefalse, "/?/&", "?")
  109.     sUrl=fRe(sUrl, falsetruefalse, "/&/&", "&")
  110.     
  111.     Response.write("<div class='sqPaged'>")
  112.     
  113.     if absltpage=1 then '-------------------首页'
  114.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordFirst&"</font> ")
  115.     else 
  116.      Response.write("<a href='"&sUrl&"1'>"&wordFirst&"</a> ")
  117.     end if 
  118.     
  119.     if absltpage<=10 then '-------------------上十'
  120.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPreviousTen&"</font> ")
  121.     else 
  122.      Response.write("<a href='"&sUrl&(absltpage-(absltpage mod 10)-9)&"'>"&_
  123.       wordPreviousTen&"</a> ")
  124.     end if 
  125.     
  126.     if absltpage<=1 then '-------------------上一'
  127.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPrevious&"</font> ")
  128.     else 
  129.      Response.write("<a href='"&sUrl&(absltpage-1)&"'>"&wordPrevious&"</a> ")
  130.     end if 
  131.     
  132.     for iNumLink=(absltpage-(absltpage mod 10)+1) to (absltpage-(absltpage mod 10)+10)
  133.      if iNumLink>iPgAll then exit for
  134.      if iNumLink=absltpage then 
  135.       Response.write("<font style='color: "&cssCrCurLink&";'>"&iNumLink&"</font> ")
  136.      else 
  137.       Response.write("<a href='"&sUrl&iNumLink&"'>"&iNumLink&"</a> ")
  138.      end if
  139.     next
  140.     
  141.     if absltpage>=iPgAll then '-------------------下一'
  142.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPrevious&"</font> ")
  143.     else 
  144.      Response.write("<a href='"&sUrl&(absltpage+1)&"'>"&wordNext&"</a> ")
  145.     end if  
  146.     
  147.     if debug then 
  148.      Response.write("~~~下十:")
  149.      Response.write(absltpage+10-(absltpage mod 10))
  150.      Response.write("~~~~")
  151.      Response.write(absltpage mod 10)
  152.      Response.write("~~~~")
  153.      Response.write((absltpage-(absltpage mod 10)+11))
  154.      Response.write("~~~")
  155.     end if
  156.     
  157.     if (absltpage-(absltpage mod 10)+11)>=iPgAll then '-------------------下十'
  158.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordNextTen&"</font> ")
  159.     else 
  160.      Response.write("<a href='"&sUrl&(absltpage+10-(absltpage mod 10)+1)&"'>"&wordNextTen&"</a> ")
  161.     end if  
  162.     
  163.     if absltpage=iPgAll then '--------------------末尾'
  164.      Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordLast&"</font> ")
  165.     else 
  166.      Response.write("<a href='"&sUrl&iPgAll&"'>"&wordLast&"</a> ")
  167.     end if 
  168.     
  169.     Response.write("转到:<input type='text' size='6' style='"&cssJumpBox&"'"&_
  170.      " οnkeypress='fG2Url(this.value,event)' />")
  171.     Response.write("<script type='text/javascript'>"&vbcrlf)
  172.     Response.write("//<![CDATA["&vbcrlf)
  173.     Response.write(" function fG2Url(sUrl, oEvt){"&vbcrlf)
  174.     Response.write("  if(!oEvt)var oEvt=window.event;"&vbcrlf)
  175.     Response.write("  var kc=oEvt.which||oEvt.keyCode;"&vbcrlf)
  176.     Response.write("  if(kc==13){"&vbcrlf)
  177.     Response.write("   window.location.href='?cat1id=1&page='+sUrl}"&vbcrlf)
  178.     Response.write(" }"&vbcrlf)
  179.     Response.write("//]]>"&vbcrlf)
  180.     Response.write("</script>"&vbcrlf)
  181.     
  182.     Response.write("</div>")
  183.   end sub 'suGetList shawl.qiu code'
  184.   
  185.   private sub suInfo()
  186.    if rs_.Eof or rs_.Bof then exit sub
  187.    dim iRc
  188.    if bGetRs then 
  189.     iRc=iRecordCount
  190.    else 
  191.     iRc=rs_.RecordCount
  192.    end if
  193.    
  194.    if iRc<1 then exit sub
  195.    Response.write("<div class='sqPgInfo'>")
  196.    Response.write(rs_.PageSize&"篇/页 "&rs_.AbsolutePage&"/"&_
  197.     (int(iRc/-rs_.PageSize)*-1)&"页 共"&iRc&"篇")
  198.    Response.write("</div>")
  199.   end sub 'suInfo shawl.qiu code'
  200.   
  201.   private function fRe(str,glb,igc,mtl,pt,rpt
  202.    dim re 
  203.    set re=new RegExp 
  204.     re.global=glb 
  205.     re.ignoreCase=igc 
  206.     re.multiline=mtl 
  207.     re.pattern=pt 
  208.     fRe=re.replace(str,rpt
  209.    set re=nothing 
  210.   end function 'fRe shawl.qiu code'
  211.   '------------------------------------end private method
  212.  end class
  213.  '---------------------------------------------------------------------end class pagination
  214.  
1.2 vbscript pagination 类使用参考

  1. shawl.qiu framework vbscript server-side

  2. ---/------------------------------------------------------------------------------

  3. class pagination

  4. ---/----------------------------------------------------

  5.  dim conn
  6.   conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&_
  7.    Server.MapPath("/data/shawlqiu.mdb")
  8.   
  9.  dim rs, oRs
  10.  
  11.  set rs=new data
  12.  
  13.   set oRs=rs.open("select title, articleid from shawlqiu_ order by articleid desc",_
  14.    conn, 1, 1)
  15.    
  16.  dim paged
  17.  dim iPage:iPage=Request.QueryString("page")
  18.  if iPage="" then iPage=1
  19.  
  20.   set paged=new pagination
  21.    paged.debug=false
  22.    paged.rs=oRs
  23.    paged.pagesize=20
  24.    paged.absltpage=iPage
  25.    paged.listnum=10
  26.    paged.queryid="page"
  27.    
  28.    paged.list
  29.    paged.info
  30.   set paged=nothing
  31.   
  32.   rs.customList oRs, GetRef("fList")
  33.   
  34.   'rs.list(oRs)
  35.   rs.close(oRs)
  36.   
  37.  set rs=nothing
  38.  
  39.  dim iAtCount:iAtCount=0
  40.  
  41.  function fList(byref rs)
  42.   iAtCount=iAtCount+1
  43.   if iAtCount>20 then exit function
  44.   Response.write("<br/><a href='?id="&rs("articleid")&"'>"&_
  45.    rs("title")&"</a>")
  46.  end function
  47.  
2. jscript
2.1 jscript pagination 类
  1. <%
  2.  /*-----------------------------------------------------------------------------------*/
  3.   * shawl.qiu asp/jscript 记录集分页类 v1.1
  4.  /*-----------------------------------------------------------------------------------*/
  5.  //---------------------------------begin class pagination()-------------------------------//
  6.  function pagination(){ // shawl.qiu code
  7.   //------------------------------------begin public variable
  8.   //---------------begin about
  9.   this.auSubject='shawl.qiu asp/jscript 记录集分页类';
  10.   this.auVersion='v1.1';
  11.   this.au='shawl.qiu';
  12.   this.auEmail='shawl.qiu@gmail.com';
  13.   this.auBlog='http://blog.csdn.net/btbtd';
  14.   this.auCreateDate='2007-1-10';
  15.   this.auUpdate='2007-1-22';
  16.   //---------------end about
  17.   this.rs='';  // recordset object
  18.   this.pagesize=20; // recordset.PageSize;
  19.   this.absltpage=1; // recordset.AbsolutePage;
  20.   
  21.   this.listnum=10; // show the link list;
  22.   this.queryid='page'; // url querystring('page');
  23.   
  24.   this.word=function(){};
  25.   
  26.   this.word.first='首页';
  27.   this.word.last='尾页';
  28.   this.word.previousTen='上十';
  29.   this.word.previous='上一';
  30.   this.word.next='下一';
  31.   this.word.nextTen='下十';
  32.   //------------------------------------end public variable
  33.   
  34.   //------------------------------------begin public method
  35.   this.getlist=function(){
  36.    tl_exec=true;
  37.    tl_rscount=tl.rs.RecordCount;
  38.    if(!tl_rscount)return false;
  39.    if(tl_rscount=='')return false;
  40.    if(tl_rscount===0)return false;
  41.    
  42.    var pgAll=Math.ceil(tl_rscount/tl.pagesize);
  43.    
  44.    if(tl.pagesize>tl_rscount)return false;
  45.    
  46.    var sUrl='?'+Request.ServerVariables("QUERY_STRING")+'&'+tl.queryid+'=';
  47.    var re=new RegExp('//b'+tl.queryid+'/=.*[^&]','i')
  48.     sUrl=sUrl.replace(re,tl.queryid+'=').replace('?&','?').replace('&&','&');
  49.    
  50.    tl.rs.PageSize=tl.pagesize; // 设置每页大小
  51.    if(tl.absltpage<1) tl.absltpage=1; // 当前所在页
  52.    if(tl.absltpage>pgAll) tl.absltpage=pgAll;
  53.     tl.rs.AbsolutePage=tl.absltpage;
  54.    
  55.    Response.write('<div class="sqPagedList">');
  56.    
  57.    tl.absltpage>1?Response.Write('<a href="'+sUrl+'1">'+tl.word.first+'</a> ')
  58.    :Response.Write('<span class="sqPagedNonLink">'+tl.word.first+'</span> ');
  59.    
  60.    if(pgAll>tl.listnum)
  61.    tl.absltpage>10?Response.Write('<a href="'+sUrl+(tl.absltpage-0-10-(tl.absltpage%10)+1)+'">'+
  62.    tl.word.previousTen+'</a> ') :Response.Write('<span class="sqPagedNonLink">'+
  63.    tl.word.previousTen+'</span> ');
  64.    
  65.    tl.absltpage>1?Response.Write('<a href="'+sUrl+(tl.absltpage-1)+'">'+
  66.    tl.word.previous+'</a> ')
  67.    :Response.Write('<span class="sqPagedNonLink">'+tl.word.previous+'</span> ');
  68.    
  69.    for(var i=0, temp=tl.absltpage-(tl.absltpage%tl.listnum)+1, temp_=''; i<tl.listnum; 
  70.     temp++, i++){
  71.     if(temp>pgAll) break;
  72.     temp==tl.absltpage?Response.Write('<span class="sqPagedCurLink">'+temp+'</span> ')
  73.     :Response.Write('<a href="'+sUrl+temp+'">'+temp+'</a> ');
  74.    }
  75.    
  76.    tl.absltpage<pgAll?Response.Write('<a href="'+sUrl+(tl.absltpage-0+1)+'">'+
  77.     tl.word.next+'</a> ')
  78.    :Response.Write('<span class="sqPagedNonLink">'+tl.word.next+'</span> ');
  79.    
  80.    if(pgAll>tl.listnum)
  81.    tl.absltpage<pgAll-9?Response.Write('<a href="'+sUrl+(tl.absltpage-0+ 
  82.    10-(tl.absltpage%10)+1)+'">'+ tl.word.nextTen+'</a> ') 
  83.    :Response.Write('<span class="sqPagedNonLink">'+tl.word.nextTen+'</span> ');
  84.    
  85.    tl.absltpage!=pgAll?Response.Write(' <a href="'+sUrl+pgAll+'">'+tl.word.last+'</a>')
  86.    :Response.Write(' <span class="sqPagedNonLink">'+tl.word.last+'</span>');
  87.    
  88.    Response.write(' 转到:<input type="text" size="6" '+
  89.    'class="sqJump" onkeypress="fG2Url(this.value,event)" />/n' );
  90.    Response.write('<script type="text/javascript">/n')
  91.    Response.write('//<![CDATA[/n')
  92.    Response.write(function fG2Url(sUrl, oEvt){/n')
  93.    Response.write('  if(!oEvt)var oEvt=window.event;/n')
  94.    Response.write('  var kc=oEvt.which||oEvt.keyCode;/n')
  95.    Response.write('  if(kc==13){/n')
  96.    Response.write('   window.location.href="'+sUrl+'"+sUrl}/n')
  97.    Response.write(}')
  98.    Response.write('/n//]]>')
  99.    Response.write('</script>');
  100.    
  101.    Response.write('<style type="text/css">/n');
  102.    Response.write('/* <![CDATA[ *//n');
  103.    Response.write(' .sqJump{/n');
  104.    Response.write('  border:0px;/n');
  105.    Response.write('  border-bottom:1px dashed black;/n');
  106.    Response.write(}/n');
  107.    Response.write('/* ]]> *//n');
  108.    Response.write('</style>');
  109.    
  110.    Response.write('</div>');
  111.   } // end this.getlist
  112.   
  113.   this.getinfo=function(){
  114.    var rscount=0;
  115.    if(!tl_exec){
  116.     rscount=tl.rs.RecordCount;
  117.    } else {
  118.     rscount=tl_rscount;
  119.    }
  120.    Response.write('<div class="sqPagedInfo">');
  121.    Response.Write(tl.rs.PageSize+'篇/页 ');
  122.    Response.Write(tl.rs.AbsolutePage+'/'+tl.rs.PageCount+'页 ');
  123.    Response.Write('共'+tl_rscount+'篇 ');
  124.    Response.write('</div>');
  125.   } // this.getinfo
  126.   //------------------------------------end public method
  127.   
  128.   //------------------------------------begin private variable
  129.   var tl=this;
  130.   var tl_rscount=0;
  131.   var tl_exec=false;
  132.   //------------------------------------end private variable
  133.  
  134.   //------------------------------------begin private method
  135.   
  136.   //------------------------------------end private method
  137.  } // shawl.qiu code
  138.  //---------------------------------end class pagination()---------------------------------//
  139. %>
  140.  
2.2 jscript pagination 类使用参考

  1. shawl.qiu framework jscript server-side

  2. ---/------------------------------------------------------------------------------

  3. pagination()

  4. <%
  5.   var conn= "Provider=Microsoft.Jet.OLEDB.4.0;persist security info=false;Data source="+
  6.  Server.MapPath("sqEditor/data/shawlqiu.mdb");
  7.  
  8.  var rs=new ActiveXObject('adodb.recordset');
  9.   rs.Open('select * from shawlqiu_', conn, 1)
  10.  
  11.  var page=Request.QueryString('page')>0? Request.QueryString('page'): 1;
  12.  
  13.  var paged=new pagination();
  14.   
  15.   paged.rs=rs;
  16.   paged.pagesize=20;
  17.   paged.absltpage=page;
  18.   paged.listnum=10;
  19.   paged.queryid='page';
  20.   
  21.   Response.write('<div class="pagenav">');
  22.   paged.getlist();
  23.   paged.getinfo();
  24.   Response.write('</div>');
  25.   
  26.   paged=null;
  27.   
  28.   Response.write('<p/>');
  29.    for(var i=0; i<20; i++){
  30.     if(rs.Eof||rs.Bof) break;
  31.     Response.Write((rs('title')+' ').link('?id=edit&atc='+rs('articleid')));
  32.     Response.Write('<br/>');
  33.     rs.MoveNext
  34.    }

  35.   rs.Close();
  36.   rs=null;
  37. %>
  38.  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值