源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 253|回复: 23

[ASP编程] 简单的ASP分页代码(测试正确)第1/2页

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-3-3 00:00:00 | 显示全部楼层 |阅读模式
本文匆匆已经全面测试,支持ASP+ACCESS以及ASP+SQL,请修改相关部分就可以了。
注意,匆匆谢绝基础问题回答,已经本代码已经很简单,如果还不懂可以参阅本站其他栏目。

<!--#include file="conn.asp"-->
<% '以上为包含数据库衔接文件
'--------------------------------------------查询开始数据库

set rs=server.CreateObject("adodb.recordset")
rs.open "select * from books where id="&id&" order by id desc",conn,1,1
if err.number<>0 then
response.write "数据库中无数据"
end if

'------------------------------------------分页开始
if rs.recordcount=0 then   
respose.write "没有数据"
else
rs.PageSize =10 '每页记录条数
iCount=rs.RecordCount '记录总数
iPageSize=rs.PageSize
maxpage=rs.PageCount 
page=request("page")

    if Not IsNumeric(page) or page="" then
        page=1
    else
        page=cint(page)
    end if

    if page<1 then
        page=1
    elseif  page>maxpage then
        page=maxpage
    end if

    rs.AbsolutePage=Page

 if page=maxpage then
  x=iCount-(maxpage-1)*iPageSize
 else
  x=iPageSize
 end if

For i=1 To x


'根据实际从库中获得数据并显示数据
'-------------------------------------------

'data=rs("data")
'response.write"DATA:"&data

'-------------------------------------------

rs.movenext
  next
  call PageControl(iCount,maxpage,page,"border=0 align=center","<p align=center>")
  end if
  rs.close
  set rs=nothing

Sub PageControl(iCount,pagecount,page,table_style,font_style)
    '生成上一页下一页链接
    Dim query, a, x, temp
    action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")

    query = Split(Request.ServerVariables("QUERY_STRING"), "&")
    For Each x In query
        a = Split(x, "=")
        If StrComp(a(0), "page", vbTextCompare) <> 0 Then
            temp = temp & a(0) & "=" & a(1) & "&"
        End If
    Next

    Response.Write("<table width=100% border=0 cellpadding=0 cellspacing=0 bgcolor=#f1f1f1>" & vbCrLf )        
    Response.Write("<form method=get onsubmit=""document.location = '" & action & "?" & temp & "Page='+ this.page.value;return false;""><TR bgcolor=#f1f1f1>" & vbCrLf )
    Response.Write("<TD align=center height=35>" & vbCrLf )
    Response.Write(font_style & vbCrLf )    

    if page<=1 then
        Response.Write ("首 页 " & vbCrLf)        
        Response.Write ("上一页 " & vbCrLf)
    else        
        Response.Write("<A HREF=" & action & "?" & temp & "Page=1>首 页</A> " & vbCrLf)
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page-1) & ">上一页</A> " & vbCrLf)
    end if

    if page>=pagecount then
        Response.Write ("下一页 " & vbCrLf)
        Response.Write ("尾 页 " & vbCrLf)            
    else
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page+1) & ">下一页</A> " & vbCrLf)
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & pagecount & ">尾 页</A> " & vbCrLf)            
    end if

    Response.Write(" 页次:" & page & "/" & pageCount & "页" &  vbCrLf)
    Response.Write(" 共有" & iCount & "个记录" &  vbCrLf)
    Response.Write(" 转到" & "<INPUT CLASS=wenbenkuang TYEP=TEXT NAME=page SIZE=2 Maxlength=5 VALUE=" & page & ">" & "页"  & vbCrLf & "<INPUT CLASS=go-wenbenkuang type=submit value=GO>")
    Response.Write("</TD>" & vbCrLf )                
    Response.Write("</TR></form>" & vbCrLf )        
    Response.Write("</table>" & vbCrLf )        
End Sub
%>

本代码绝对无错!
本文匆匆已经全面测试,支持ASP+ACCESS以及ASP+SQL,请修改相关部分就可以了。
注意,匆匆谢绝基础问题回答,已经本代码已经很简单,如果还不懂可以参阅本站其他栏目。

<!--#include file="conn.asp"-->
<% '以上为包含数据库衔接文件
'--------------------------------------------查询开始数据库

set rs=server.CreateObject("adodb.recordset")
rs.open "select * from books where id="&id&" order by id desc",conn,1,1
if err.number<>0 then
response.write "数据库中无数据"
end if

'------------------------------------------分页开始
if rs.recordcount=0 then   
respose.write "没有数据"
else
rs.PageSize =10 '每页记录条数
iCount=rs.RecordCount '记录总数
iPageSize=rs.PageSize
maxpage=rs.PageCount 
page=request("page")

    if Not IsNumeric(page) or page="" then
        page=1
    else
        page=cint(page)
    end if

    if page<1 then
        page=1
    elseif  page>maxpage then
        page=maxpage
    end if

    rs.AbsolutePage=Page

 if page=maxpage then
  x=iCount-(maxpage-1)*iPageSize
 else
  x=iPageSize
 end if

For i=1 To x


'根据实际从库中获得数据并显示数据
'-------------------------------------------

'data=rs("data")
'response.write"DATA:"&data

'-------------------------------------------

rs.movenext
  next
  call PageControl(iCount,maxpage,page,"border=0 align=center","<p align=center>")
  end if
  rs.close
  set rs=nothing

Sub PageControl(iCount,pagecount,page,table_style,font_style)
    '生成上一页下一页链接
    Dim query, a, x, temp
    action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")

    query = Split(Request.ServerVariables("QUERY_STRING"), "&")
    For Each x In query
        a = Split(x, "=")
        If StrComp(a(0), "page", vbTextCompare) <> 0 Then
            temp = temp & a(0) & "=" & a(1) & "&"
        End If
    Next

    Response.Write("<table width=100% border=0 cellpadding=0 cellspacing=0 bgcolor=#f1f1f1>" & vbCrLf )        
    Response.Write("<form method=get onsubmit=""document.location = '" & action & "?" & temp & "Page='+ this.page.value;return false;""><TR bgcolor=#f1f1f1>" & vbCrLf )
    Response.Write("<TD align=center height=35>" & vbCrLf )
    Response.Write(font_style & vbCrLf )    

    if page<=1 then
        Response.Write ("首 页 " & vbCrLf)        
        Response.Write ("上一页 " & vbCrLf)
    else        
        Response.Write("<A HREF=" & action & "?" & temp & "Page=1>首 页</A> " & vbCrLf)
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page-1) & ">上一页</A> " & vbCrLf)
    end if

    if page>=pagecount then
        Response.Write ("下一页 " & vbCrLf)
        Response.Write ("尾 页 " & vbCrLf)            
    else
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page+1) & ">下一页</A> " & vbCrLf)
        Response.Write("<A HREF=" & action & "?" & temp & "Page=" & pagecount & ">尾 页</A> " & vbCrLf)            
    end if

    Response.Write(" 页次:" & page & "/" & pageCount & "页" &  vbCrLf)
    Response.Write(" 共有" & iCount & "个记录" &  vbCrLf)
    Response.Write(" 转到" & "<INPUT CLASS=wenbenkuang TYEP=TEXT NAME=page SIZE=2 Maxlength=5 VALUE=" & page & ">" & "页"  & vbCrLf & "<INPUT CLASS=go-wenbenkuang type=submit value=GO>")
    Response.Write("</TD>" & vbCrLf )                
    Response.Write("</TR></form>" & vbCrLf )        
    Response.Write("</table>" & vbCrLf )        
End Sub
%>

本代码绝对无错!
回复

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-10-8 19:51:53 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

107

积分

注册会员

Rank: 2

积分
107
发表于 2022-11-16 21:25:59 | 显示全部楼层
啊,数码撒飒飒飒飒
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2023-5-30 09:04:12 | 显示全部楼层
撒房产税陈飞飞
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2023-8-11 21:42:45 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-30 17:02:27 | 显示全部楼层
这个源码不错啊
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-12-11 19:26:02 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

27

主题

2万

回帖

331

积分

中级会员

Rank: 3Rank: 3

积分
331
发表于 2024-3-22 00:28:53 | 显示全部楼层
sdsadsadsadf
回复 支持 反对

使用道具 举报

11

主题

2万

回帖

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2024-3-26 06:14:09 | 显示全部楼层
挺不错的东西
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

473

积分

中级会员

Rank: 3Rank: 3

积分
473
发表于 2024-3-26 13:01:14 | 显示全部楼层
哦哦哦哦哦哦哦哦哦
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-30 15:42 , Processed in 0.170178 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表