ASP 分页操作, 改良版

分页

效果:
首页 上十 上一 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... 为每页的开始篇数
   Response.Write "<a href="&dyv_&rqsyv_&dyvpv_&(cPageNo-(cPageNo mod 10)-NaviLength+1)&">"&previous10_&"</a> " 
  Else 
   Response.Write "<font color=""#CCCCCC"">"&previous10_&"</font> " 
  End If 

  If pageview <> 1 and pageview <>0 Then '后移一页
   Response.Write "<a href="&dyv_&rqsyv_&dyvpv_&(pageview-1)&">"&previous1_&"</a> " 
  Else 
   Response.Write "<font color=""#CCCCCC"">"&previous1_&"</font> " 
  End If 

  For I=StartPage To EndPage 
   If I=cPageNo Then 
    Response.Write "<b>"&I&"</b>" 
   Else 
    Response.Write "<a href="&dyv_&rqsyv_&dyvpv_& I & ">" & I & "</a>" 
   End If 
   If I<>tPageCount Then Response.Write " "
  Next 

  If pageview <> rsn.PageCount and pageview <>0 Then '前移一页
   Response.Write " <a href="&dyv_&rqsyv_&dyvpv_&(pageview+1)&">"&next1_&"</a> " 
  Else 
   Response.Write "<font color=""#CCCCCC"">"&next1_&"</font> " 
  End If 

  If EndPage<tPageCount Then  '向前移动一分页, 十页为一分页, 并且以 1, 11, 21 为每页的开始篇数
   Response.Write " <a href="&dyv_&rqsyv_&dyvpv_&(cPageNo-(cPageNo mod 10)+NaviLength+1)&">"&next10_&"</a> " 
  Else 
   Response.Write " <font color=#CCCCCC>"&next10_&"</font> " 
  End If 

  if  rsn.PageCount<>pageview then '判断是否尾页
   Response.Write "<a href="&dyv_&rqsyv_&dyvpv_&rsn.PageCount&">尾页</a>" 
  Else 
   Response.Write "<font color=""#CCCCCC"">尾页</font>"
  End If  

 End Sub 

%>
<div CLASS="center">
 <form NAME="pageform" ID="pageform">
 <% showPageNavi rsn.PageCount,pageview %>   
 <select NAME="menu1" >
   <% for i=1 to rsn.PageCount %>
  <option VALUE="<%=dyv_&rqsyv_&dyvpv_&i%>"
  <% if pageview=i then%> selected <%end if%>>
    第<%=i%>页
  </option>
  <%next%>
   </select>
 </form> 
 <% showPageInfo rsn.PageCount,pageview %>  <% Response.Write(rsn.RecordCount) %>篇<br />
</div>
<% 
If rsn.EOF OR rsn.BOF Then 
Else 
 For I=1 To rsn.PageCount
%> 
<%=(pageview-1)*RPP+I%>
<%=rsn("dateandtime")%> <a href="<%=a1_&rsn("article.classid")&a2_&rsn("article.nclassid")&a3_&rsn("articleid")%>"><%= rsn("title") %></a><p/>
<% 
rsn.MoveNext 
  If rsn.EOF OR rsn.BOF Then Exit For 
 Next 
End If 
%> 
<div CLASS="center">
 <form NAME="pageform" ID="pageform">
 <% showPageNavi rsn.PageCount,pageview %>   
 <select NAME="menu1" >
   <% for i=1 to rsn.PageCount %>
  <option VALUE="<%=dyv_&rqsyv_&dyvpv_&i%>"
  <% if pageview=i then%> selected <%end if%>>
    第<%=i%>页
  </option>
  <%next%>
   </select>
 </form>
</div>
<%  rsn.close
 set rsn=nothing %> 

---/-------------------------------------------------------------------

abbr.asp

<%
'Site Infomation
sitename_="绿色学院 Green Institute" '站点名字
homepageW_="首页"
siteurl_="http://127.0.0.1:83" '站点域名
home_="<a href="&siteurl_&">"&sitename_&"</a>" _fcksavedurl=""&siteurl_&">"&sitename_&"</a>"" '显示站名并加上首页链接
homepage_="<a href="&siteurl_&">"&homepageW_&"</a>" '显示 "首页" 并加站站点链接
sitepublic_="开站日期: 2006-7-1 " '显示开站日期
siteadmin_="shawl.qiu"
siteadminW_="站长"
siteadminMail_="shawl.qiu@gmail.com" '站长电子邮件
contactSiteAdmin_=siteadminW_&":<a HREF=mailto:"&siteadminMail_&">"&siteadmin_&"</a>" _fcksavedurl="mailto:"&siteadminMail_&">"&siteadmin_&"</a>"" '显示站长名字并加上电子邮件链接

' Number Control
n10_=10 ' 显示文章标题长度
n11_=11 ' 显示文章标题长度
n12_=12 ' 显示文章标题长度
n15_=15 ' 显示文章标题长度

' HTML Tag
b_="<br/>" '调用换行符
p_="<p/>"
sp2_="  "
sp2a_="  -> "

' article about
author_="作者:"
hot_=" 热门"
source_="来源:"
newPost_="<div class='center'>最新发表</div>"
previousA_="上篇"
nextA_="下篇"
previous10_="上十"
next10_="下十"
previous1_="上一"
next1_="下一"
nullPA_="没有上篇"
nullNA_="没有下篇"
view_="查看:"
viewT_="次"
pagelinkW_="页面链接: "

'General word
welcomeShort_="欢迎光临"
siteFoundtime_="开站日期: "
localsite_="本站"

' page index.asp
pColumn_="父类"
sColumn_="子类"

' page class.asp
c1_="class.asp?classid=" 'class 类一级链接
c2_="&nclassid=" 'class 类二级链接

' page article.asp
a1_="article.asp?classid=" 'article 页一级链接
a2_="&nclassid=" 'article 页二级链接
a3_="&articleid=" 'article 页三级链接
text_="正文:"

' page dateview.asp
ddv_="dateview.asp?dayview="
dyv_="dateview.asp?yearview="
dyvpv_="&pageview="
dmv_="dateview.asp?monthview="
dwkv_="dateview.asp?weekview="
dtv_="dateview.asp?todayview="
show_="显示"
today_="今天"
showAll_="所有文章"
showByW_="所属星期"

' error info
errorCidNidAid_="<meta HTTP-EQUIV='refresh' CONTENT='3;URL=index.asp'><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><center>页面错误, 三秒后返回主页</center>"
errorNothing_="<center>没有内容</center>"
errorNJH_="<meta HTTP-EQUIV='refresh' CONTENT='3;URL=index.asp'><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><center>没有内容, 三秒后返回主页</center>"

' query string
rqsyv_=request.QueryString("yearview")

' url
pagelink1_=siteurl_&request.ServerVariables("URL")&"?"&request.ServerVariables("QUERY_STRING")
pagelink_=pagelinkW_&"<a href="&pagelink1_&">"&pagelink1_&"</a>"
%>

---/-------------------------------------------------------------------

/****************************************************************\
*
* subject :
*
* author : Stabx<shawl.qiu@gmail.com>
*
* blog  : http://btbtd.exblog.jp/ / http://my.opera.com/btbtd/
*
* blog name : Phoenix.GI - P.GI
*
* date  : 2006-4-17
*
\****************************************************************/

时间: 2024-08-03 06:41:08

ASP 分页操作, 改良版的相关文章

ASP分页代码的学习

分页 <%'******************************************************************'** 本程序名:"无限流"分页程序'** 作者:Arbiter(AAsx)'** 版本:Million Level'**'** QQ:22222xx'** Email:Arbiter@21cn.com'** http://www.imagecity.org/'***************************************

ASP.NET操作Word的IIS权限设置

ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 这样给Asp.NET操作Microsoft Office对象带来了一定的困难.但我们还是要想办法来进行Office对象的操作.下面简单介绍一下本人在开发过程中曾经使用过的方法: 方法1:配置W

SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作

server|分页|函数|数据 最近MSDN Magazine上的一篇文章10 Tips for Writing High-Performance Web Applications提到了有效的数据分页技术对提高ASP .NET程序性能的重要性:并给出了一个实现数据分页的stored procedure的例子,抄录如下: CREATE PROCEDURE northwind_OrdersPaged ( @PageIndex int, @PageSize int ) AS BEGIN DECLARE

关于ASP分页代码的问题

问题描述 关于ASP分页代码的问题 本人新手一个,请教个问题. 在做ASP分页的时候,无论你设置每页多少条记录,第一页的时候会把所有记录显示出来,第二页时会把除了第一页的条数全显示出来. 比如设置每页10条记录.第一页会把所有记录显示出来,第二页会把除了前10条记录的剩下所有记录显示出来. 请问这是什么原因?? 晕啊........没有C币 解决方案 分页是一个说起来复杂 但是又不是很复杂的东西 但是要做好 真心不容易 不过你运气好 我昨天刚写完,net将分页写成一个控件,下面是源码: usin

Linux安装Mongodb改良版tokutek步骤详解

系统环境:CentOS x86_64 tokutek为mongodb的改良版,在很多程度上解决了mongodb的不足之处,如磁盘占用空间等. 开放端口: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p

叶子asp分页类_ASP CLASS类

名称: 叶子asp分页类 Name: ShowoPage(vbs class) RCSfile: ReadMe.txt Revision: 0.12.20051114.f Author: Yehe(叶子) Released: 2005-11-14 09:40:13 Descript: ASP分页类,支持access/mssql/mysql/sqlite Contact: QQ:311673 MSN:myehe@msn.com GT:mmyehe@gmail.com WebSite: http:/

ASP.NET操作Word的IIS权限设置_实用技巧

ASP.NET账号在默认情况下是没有权限操作Microsoft Office对象的,如果不进行权限的配置,代码会抛出类似以下的异常: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 这样给Asp.NET操作Microsoft Office对象带来了一定的困难.但我们还是要想办法来进行Office对象的操作.下面简单介绍一下本人在开发过程中曾经使用过的方法: 方法1:配置W

ASP分页祥解

分页 关于ASP分页的问题,对于初学者是一个比较重要的问题,也是各个网站运用最为广泛的技术,下面我就把我总结的一点小经验介绍给大家(写的不好,请大家指点)1.原理:ASP分页其实是将数据库中的记录分割成若干段"分屏显示",为什么叫"分屏显示"显示,因为其实显示的原始页面只有1页,通过控制数据库显示,来刷新页面的显示内容(可能一些朋友会误会为动态产生若干页面来显示,呵呵,我刚刚学的时候也是这样以为的)2.用到的几个函数rs.pagesize--->定义一页显示记

两个高效的ASP分页函数

两个高效的ASP分页函数(统计记录数,分页提取记录) <% '    /*智能返回分页SQL语句*/ '    /// <summary> '    /// 功能:智能返回分页SQL语句 '    /// </summary> '    /// <param name="primaryKey">主键(不能为空)</param> '    /// <param name="queryFields">提取