日期:2010-09-03  浏览次数:21316 次

效果:
首页 上十 上一 11 12 13 14 15 16 17 18 19 20 下一 下十 尾页 转到___ 
11/20页  963篇

主文件: dateview.asp , 查询参数 yearview=, 分页参数 pageview=
包含文件: abbr.asp

dateview.asp?yearview=2004&pageivew=1
---/-------------------------------------------------------------------

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="include/abbr.asp" -->

<script language="JavaScript" type="text/JavaScript">
<!--// 页面跳转脚本
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<% '查询年份分页 dateview.asp?yearview=2004&pageivew=1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' subject : ASP 分页操作, 改良版 by Stabx
'
' author : Stabx<shawl.qiu@gmail.com>
'
' blog  : http://blog.csdn.net/btbtd \ http://btbtd.exblog.jp/
'
' blog name : Phoenix.GI - P.GI
'
' date  : 2006-4-21
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' rsn.PageCount / 总页数
' pageview / 当前页数

Dim I '定义循环变量
Dim RPP 'RPP:指定每页显示的记录数, 
Dim pageview '翻页变量
I=1  '从 1 开始
RPP=50 '每页显示 50 条记录
pageview=CInt(Request("pageview"))  '读取 URL 页号

Dim rsn '定义链接名 
 Set rsn = Server.CreateObject("ADODB.Recordset")  '建立一个 rsn 数据库查询
 rsn.ActiveConnection = MM_conn_STRING 'rsn 链接方式, 这是 DW 的链接字符串
 rsn.Source = "select article.*, class.*, nclass.* from article, class, nclass where article.classid=class.classid and article.nclassid=nclass.nclassid and year(dateandtime)="&request.QueryString("yearview")&" order by dateandtime asc"
 ' rsn 查询语句, SELECT 所有列 FROM 表 WHERE 条件 ORDER BY 条件
 rsn.CursorType = 1 '游标属性
 rsn.CursorLocation = 2  '游标位置
 rsn.LockType = 1 '定义数据库查询模式
 rsn.Open() '打开数据库链接

rsn.PageSize=RPP '定义每页显示记录数

If pageview<=0 Then pageview=1 '如果 pageview 小于或等于0, 返回值1
 If pageview>rsn.PageCount Then pageview=rsn.PageCount ' 如果 pageview 大于分页总数, 返回分页末页值 
 rsn.AbsolutePage=pageview '定义当前页码
 
 Sub ShowPageInfo(tPageCount,cPageNo)  '定义子例程 ShowPageInfo, 显示页数和总页
  Response.Write cPageNo&"/"&tPageCount&"页" '显示当前页和总页数
 End Sub 
 
 Sub ShowPageNavi(tPageCount,cPageNo)   ' 定义子例程 ShowPageNavi, 显示分页号
  If cPageNo<1 Then cPageNo=1  '如果页数小于 1, 默认为 1; 当前页, cPageNo = Current Page NO.
  If tPageCount<1 Then tPageCount=1 
  If cPageNo>tPageCount Then cPageNo=tPageCount  
   Dim NaviLength 
   NaviLength=10 ' 显示数字链接数
   Dim I,StartPage,EndPage ' 定义当前页, 开始页, 结束页
   StartPage=(cPageNo\NaviLength)*NaviLength+1  '为开始页赋值
   
  if pageview=1 then '判断是否首页, 如果是首页不添加链接,反之添加.
   Response.Write "<font color=""#CCCCCC"">首页</font> " '显示没有添加链接热点的"首页"
  Else 
   Response.Write "<a href="&dyv_&rqsyv_&dyvpv_&"1>首页</a> " '首页链接
  End If  
  
  If (cPageNo Mod NaviLength)=0 Then StartPage=StartPage-NaviLength  
   EndPage=StartPage+NaviLength-1      
  If EndPage>tPageCount Then EndPage=tPageCount  

  If StartPage>1 Then '向后移动一分页, 十页为一分页, 并且以 1, 11, 21... 为每页的开始篇数