谁有分页源代码?急需

hudeqiang 2003-09-11 11:07:22
小弟我刚学asp,,,用教材上的内容一样打下来总会出错,哪位大侠给个分页源代码,最好关键语句有注明其作用,先在这里谢谢了^-^
...全文
54 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangsm 2003-09-11
  • 打赏
  • 举报
回复
关键就是定义好每一页的数据条数,然后根据数据库的总条数据来分能有几页。这样一个流程而已。
fhbkyo 2003-09-11
  • 打赏
  • 举报
回复
以前的贴子都有的

<html>
<head><title>分页浏览程序</title></head>
<body>
<center>
<h2>分页浏览程序</h2>
<%
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open "Select * from FileInfo", "DSN=MyDB;UID=sa;",3,1
  '设置页的大小
  PageSize = 10
  rs.PageSize = PageSize
  TotalPages = rs.PageCount
  TotalRecords = rs.RecordCount
  '检查记录集是否为空
  If TotalRecords<1 Then
    Response.Write "错误:记录集为空。"
    Response.End
  End If
  '得到用户选择的动作
  PageAction = Request.Form("PageAction")
  Select case PageAction
    Case "首页" Session("Page")=1
    Case "上页" Session("Page")=Session("Page")-1
    Case "下页" Session("Page")=Session("Page")+1
    Case "尾页" Session("Page")=TotalPages
    Case Else Session("Page")=1
  End Select
  '检查Session("Page")是否越界
  If CInt(Session("Page"))<1 Then
    Session("Page")=1
  End If
  If Cint(Session("Page"))>TotalPages Then
    Session("Page")=TotalPages
  End If
  '设置AbsolutePage属性
  rs.AbsolutePage = Session("Page")
  '设置表单参数
  Response.Write "<form action=PageView.asp method=POST>"
  Response.Write "<table border=1>"
  Response.Write "<tr><td colspan=3 align=center>记录数目:" &TotalRecords
  Response.Write "<tr><td colspan=3 align=center>总的页数:" &TotalPages
  '显示首页、上页、下页和尾页四个按钮
  Response.Write "<tr><td colspan=3 align=center>"
  Response.Write "<input name=PageAction type=submit value=首页>"
  Response.Write "<input name=PageAction type=submit value=上页>"
  Response.Write "<input name=PageAction type=submit value=下页>"
  Response.Write "<input name=PageAction type=submit value=尾页>"
  '显示现在是第几页
  Response.Write "<tr><td colspan=3 align=center>"
  Response.Write "现在是第"&Session("Page")&"页"
  '显示当前页的数据内容
  Response.Write "<tr><th>序号<th>文件编号<th>文件名称"
  i=1
  Do While Not rs.Eof And i<=PageSize
    Response.Write "<tr>"
    Response.Write "<td align=center>" & (Session("Page")-1)*PageSize+i
    Response.Write "<td>" & rs("FileID")
    Response.Write "<td>" & rs("FileName")
    i = i+1
    rs.MoveNext
  Loop
  Response.Write "</table>"
  Response.Write "</form>"
  rs.Close
  set rs=nothing
%>
</center>
</body>
</html>
i54 2003-09-11
  • 打赏
  • 举报
回复
我自己写的,可以用自己试过了。
但愿能帮上你


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% option explicit %>
<% response.Expires=-1 %>
<% response.buffer=true %>
<%
dim rs,strconn,sql,page,n,k,mypagesize,t
set rs=server.CreateObject("ADODB.Recordset")
strconn="Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("china.mdb")
sql="select names,card,addr,handset,tel,email from man"
rs.open sql,strconn,1,1
rs.movefirst
%>
<%
'page=request("page")
rs.pagesize=10
mypagesize=rs.pagesize
dim p
p=rs.pagecount
%>
<%
if not isnumeric(request("page")) or isempty(request("page")) then
page=1
else
page=int(abs(request("page")))
end if

rs.absolutepage=page
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>我的分页</title>
</head>

<body>
<div align="center">共有
<% =rs.pagecount%>

<% =rs.recordcount %>
条记录   <a href=page02.asp?page=1>第一页 </a>    <a href=page02.asp?page=<% =page-1 %>>上一页
</a>   <a href=page02.asp?page=<%= page+1%>>下一页</a>
<a href=page02.asp?page=<%= rs.pagecount %>>最后一页
</a> <br>
<form name="form1" method="post" action="">
查找卡号
<input name="textfield" type="text" size="10">
<input type="submit" name="Submit" value="给我查">
</form>
</div>

<table border="1" align="center" bordercolor="#CCCCCC">
<tr align="center">
<td align="center" valign="top">自动编号</td>
<td align="center" valign="top">姓名</td>
<td align="center" valign="top">卡号</td>
<td align="center" valign="top">手机号码</td>
<td align="center" valign="top">固定电话</td>
<td align="center" valign="top">E-MAIL</td>
<td align="center" valign="top">地址</td>
</tr>
<%
dim i
i=1
do while not rs.eof and mypagesize>0

%>

<tr align="center">
<td align="center" valign="top"><%= i %></td>
<td align="center" valign="top"><%= rs("names") %></td>
<td align="center" valign="top"><%= rs("card") %></td>
<td align="center" valign="top"><%= rs("handset") %></td>
<td align="center" valign="top"><%= rs("tel") %></td>
<td align="center" valign="top"><%= rs("email") %></td>
<td align="center" valign="top"><%= rs("addr") %></td>
</tr>
<%
mypagesize=mypagesize-1 '-------------设定为10 这样只能循环10 次 减为0时跳出循环
i=i+1
rs.movenext
loop
'-------------------显示记录到此结束
%>
</table>
</body>
</html>
KUMOZAKI 2003-09-11
  • 打赏
  • 举报
回复
去风火浪大哥的网站看一看:www.lndesign.net
dapha 2003-09-11
  • 打赏
  • 举报
回复
其实分页函数并不难写。
只要你取得记录集数,每页的文章条数就行了。
然后就是加减乘除了。自己多想想。
ZhouLeihot 2003-09-11
  • 打赏
  • 举报
回复
不好意思我前面写那个是我自己的页面里的,没怎么修改就搬上来了。这是我修改后的。
<%
function OnChangePageNum(PageNum)
{
if(PageNum != 0)
MyList.CurrPage.value = PageNum;
MyList.submit();
}

var CurrPage = 1;
if(Request.QueryString("CurrPage").Count != 0)
CurrPage = new Number(Request.QueryString("CurrPage"));

var ADOconn = Server.CreateObject("ADODB.Connection");
var ADOrs = Server.CreateObject("ADODB.Recordset");

var strQuery="查询字符串"
ADOconn.Open("连接字符串")
ADOrs.Open(strQuery, ADOconn, 3);

ADOrs.PageSize = 10;//可以自定义页面大小
if(ADOrs.EOF != true)
ADOrs.AbsolutePage = CurrPage;//设定当前页
%>

<FORM name=MyList action=自己 type=GET>
<TABLE>
<TR>
<TD colspan=12>
<P align=right><font size=2>
<%
if(CurrPage == 1)
{
%>
[首页][上一页]
<%
}
else
{
%>
<A href="JavaScript:OnChangePageNum(1)">[首页]</A>
<A href="JavaScript:OnChangePageNum(<%=CurrPage-1%>)">[上一页]</A>
<%
}
if(CurrPage == ADOrs.PageCount || ADOrs.PageCount == 0)
{
%>
[下一页][末页]
<%
}
else
{
%>
<A href="JavaScript:OnChangePageNum(<%=CurrPage+1%>)">[下一页]</A>
<A href="JavaScript:OnChangePageNum(<%=ADOrs.PageCount%>)">[末页]</A>
<%
}
%>
 
<a href="JavaScript:OnChangePageNum(0)">转到</a>
第<input type=text style="width:50px" name=CurrPage id=CurrPage value=<%=CurrPage%>>页
共<%=ADOrs.PageCount%>页
</font></P>
<TD>
</TR>
</TABLE>
</FORM>
falcon36017 2003-09-11
  • 打赏
  • 举报
回复
昏啊 随便到GOOGLE搜索一下麻 兄弟 分页代码多多啊

楼上兄弟那个代码也不错啊
ZhouLeihot 2003-09-11
  • 打赏
  • 举报
回复
<%
function OnChangePageNum(PageNum)
{
if(PageNum != 0)
FormSearch.CurrPage.value = PageNum;
FormSearch.submit();
}

var CurrPage = 1;
var ADOconn = Server.CreateObject("ADODB.Connection");
var ADOrs = Server.CreateObject("ADODB.Recordset");

var strQuery="查询字符串"
ADOconn.Open("连接字符串")
ADOrs.Open(strQuery, ADOconn, 3);

ADOrs.PageSize = 10;
if(ADOrs.EOF != true)
ADOrs.AbsolutePage = CurrPage;
%>
<TR>
<TD colspan=12>
<P align=right><font size=2>
<%
if(CurrPage == 1)
{
%>
[首页][上一页]
<%
}
else
{
%>
<A href="JavaScript:OnChangePageNum(1)">[首页]</A>
<A href="JavaScript:OnChangePageNum(<%=CurrPage-1%>)">[上一页]</A>
<%
}
if(CurrPage == ADOrs.PageCount || ADOrs.PageCount == 0)
{
%>
[下一页][末页]
<%
}
else
{
%>
<A href="JavaScript:OnChangePageNum(<%=CurrPage+1%>)">[下一页]</A>
<A href="JavaScript:OnChangePageNum(<%=ADOrs.PageCount%>)">[末页]</A>
<%
}
%>
 
<a href="JavaScript:OnChangePageNum(0)">转到</a>
第<input type=text style="width:50px" name=CurrPage id=CurrPage value=<%=CurrPage%>>页
共<%=ADOrs.PageCount%>页
</font></P>
<TD>
</TR>
konnyw 2003-09-11
  • 打赏
  • 举报
回复
dim pagedefault
dim pagecount,count
dim pagesize,page


pagesize=10
pagedefault=1

dim zjzlid

zjzlid=request("fileid")

page=request("page")
if not isnumeric(page) then


count=rs.recordcount
if count mod pagesize=0 then pagecount=int(count/pagesize) else pagecount=int(count/pagesize)+1
if page>pagecount then page=pagecount
for i=1 to (page-1)*pagesize
rs.movenext
next
%>
billyqiao 2003-09-11
  • 打赏
  • 举报
回复
教材是经过严格审核的,一般不会出错,把你的代码和错误贴出来看看。
一般的分页只需要设置RECORDSET的PAGESIZE就可以做到

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧