标题:[求助]请教如何最简单的分页
只看楼主
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
结帖率:90.7%
 问题点数:0 回复次数:4 
[求助]请教如何最简单的分页
请教如何实现最简单的分页,每一页只显示一条记录,按“下一页”运行xs.movenext,按“上一页”运行xs.moveprev,按“第一页”运行xs.first,按“最后一页”运行xs.last。下面是显示一条记录的程序,能否在这程序上面加上“第一页”、“上一页”、“下一页”、“最后一页”这几个超级连接文字,点击这几个文字就能实现翻页的功能。谢了!
<%Set xs = Server.CreateObject("ADODB.Recordset")
sql="select * from g1bgd
xs.open sql,conn,3,3
%>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="400" border="0" align="center">
<tr>
<td><div align="center"><%=(xs.Fields.Item("xm").Value)%></div></td>
</tr>
</table>
</form>
搜索更多相关主题的帖子: 记录 sql action method 如何 
2007-07-20 20:26
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
得分:0 
上面的后两句写错了,应该是xs.movefirst和xs.movelast
2007-07-20 20:28
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
得分:0 

最简单的就是使用分页模块了,要翻页只需调用就可以了,免得次次都要写分页代码,麻烦!
下面为翻页模块 TurnPage.asp
----------------------------------------------------------------------------------------------
<%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块
'◆文 件 名: TurnPage.asp
'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)
'◆输 出: 记录集翻页显示功能
'+++++++++++++++++++++++++++++++++++++
'
Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;
Dim TotalPage '总页数
Dim PageNo '当前显示的是第几页
Dim RecordCount '总记录条数

Rs_tmp.PageSize = PageSize
RecordCount = Rs_tmp.RecordCount
TotalPage = INT(RecordCount / PageSize * -1)*-1
PageNo =Request.QueryString ("PageNo")
'直接输入页数跳转;
If Request.Form("PageNo")<>"" Then PageNo =Request.Form("PageNo")
'如果没有选择第几页,则默认显示第一页;
If PageNo = "" then PageNo = 1
If RecordCount <> 0 then
Rs_tmp.AbsolutePage = PageNo
End If
'获取当前文件名,使得每次翻页都在当前页面进行;
Dim fileName,postion
fileName = Request.ServerVariables("script_name")
postion = InstrRev(fileName,"/")+1
'取得当前的文件名称,使翻页的链接指向当前文件;
fileName = Mid(fileName,postion)


%><script language="JavaScript">
<!--
<!--
function test(theForm){
var thisone
thisone = <%=TotalPage%>
if (theForm.PageNo.value == "" || isNaN(theForm.PageNo.value) )
{
alert("请输入一个页数");
theForm.PageNo.focus();
return (false);
}
if (theForm.PageNo.value > thisone || theForm.PageNo.value < 1)
{
alert("不存在此页");
theForm.PageNo.focus();
return (false);
}

return true;
}
// -->

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<form onSubmit="return test(this);" name=theForm method=get>
<table width='100%' border=0 class="en12-black" >
<tr >
<td align=left> <span class="smalltitle">总页数</span>:<font color=#ff3333 class="smalltitle"><%=TotalPage%></font>页
| 当前第<font color=#ff3333 class="smalltitle"><%=PageNo%></font>页 [共有信息<span class="smalltitle"> <%=RecordCount%> </span>条]</td>
<td align="right">
<%If RecordCount = 0 or TotalPage = 1 Then
Response.Write " <img src='images/FIRST.jpg' width='21' height='14' border='0' align='absmiddle'><img src='images/PIEVW.jpg' width='17' height='14' border='0' align='absmiddle'><img src='images/next.jpg' width='15' height='14' border='0' align='absmiddle'><img src='images/last.jpg' width='20' height='14' border='0' align='absmiddle'> "
Else%>
<a href="<%=fileName%>?PageNo=1"> <img src="images/FIRST.jpg" width="21" height="14" border="0" align="absmiddle"> </a>
<%If PageNo - 1 = 0 Then
Response.Write " <img src='images/PIEVW.jpg' width='17' height='14' border='0' align='absmiddle'> "
Else%>
<a href="<%=fileName%>?PageNo=<%=PageNo-1%>"> <img src="images/PIEVW.jpg" width="17" height="14" border="0" align="absmiddle"> </a>
<%End If

If PageNo+1 > TotalPage Then
Response.Write " <img src='images/next.jpg' width='15' height='14' border='0' align='absmiddle'> "
Else%>
<a href="<%=fileName%>?PageNo=<%=PageNo+1%>"> <img src="images/next.jpg" width="15" height="14" border="0" align="absmiddle"> </a>
<%End If%>

<a href="<%=fileName%>?PageNo=<%=TotalPage%>"> <img src="images/last.jpg" width="20" height="14" border="0" align="absmiddle"></a>
<%End If%></td>
<td width="120" align="right">转到第
<%If TotalPage = 1 Then%>
<input name=PageNo type=text disabled style="background:#d3d3d3" value="1" size=3 readonly>
<%Else%>

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)" size=1>
<option selected>页码</option>
<%dim pagenum
for pagenum=1 to TotalPage
if TotalPage>1 then

%>
<option value="<%=fileName%>?PageNo=<%=pagenum%>"><%=pagenum%></option>
<%
end if
next
%>
</select>
<%End If%>页
</td>
</tr>
</table></form>
<%End Sub%>
---------------------------------------------------------------------------------------------------------
调用翻页模块
<% set rs= server.CreateObject("adodb.recordset")
rs.open "select * from 数据表 order by 字段 ",conn,1,1
if rs.bof and rs.eof then
response.write"暂无数据"
else
'调用翻页模块
Dim RowCount
RowCount = 20 '每页显示的记录条数
Call TurnPage(rs,RowCount)'公共翻页模块结束
do while not rs.eof and RowCount>0
%>
数据内容
......
......
......
<% RowCount = RowCount - 1
rs.movenext
loop
'调用翻页模块,也可不调用,随个人喜欢
Call TurnPage(rs,RowCount)'公共翻页模块结束
end if
rs.close
set rs=nothing %>


生活的理想,就是为了理想的生活。
2007-07-23 15:24
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
得分:0 
<%Set xs = Server.CreateObject("ADODB.Recordset")
sql="select * from g1bgd
xs.open sql,conn,3,3
xs.pagesize=1
If Request("page")<>"" Then
ipage=Cint(Request("page"))
If ipage<1 Then
ipage=1
End If
If ipage>rs.PageCount Then
ipage=rs.PageCount
End If
Else
ipage=1
End If
rs.AbsolutePage=ipage
%>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="400" border="0" align="center">
<tr>
<td><div align="center"><%=(xs.Fields.Item("xm").Value)%></div></td>
</tr>
</table>
<%
If ipage<>1 Then%>
<a href="page2.asp?page=1">第一页</a>
<a href="page2.asp?page=<%=ipage-1%>">上一页</a>
<% End If
If ipage<>rs.PageCount Then%>
<a href="page2.asp?page=<%=ipage+1%>">下一页</a>
<a href="page2.asp?page=<%=rs.PageCount%>">最后页</a>
<% End If
conn.close()
%>
</form>
将文件命名为page2.asp

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-07-23 20:26
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
得分:0 
请教版在翻页中的问题
我写的翻页程序与您的相似如下:
Set xs = Server.CreateObject("ADODB.Recordset")
sql="select * from g1bgd
xs.open sql,conn,1,3
pgsize=1
page=request.querystring("page")
xs.pagesize=pgsize
pgnm=xs.pagecount
if page=""or clng(page)<1 then page=1
if clng(page)>pgnm then page=pgnm
if pgnm>0 then xs.absolutepage=page
count=0
do while not xs.eof and count<xs.pagesize
<form id="form1" name="form1" method="post" action="bzrsr.asp?page=<%=page%>">
如果翻页只是简单的浏览,这一点问题也没有。如何在翻页同时要对数据库进行修改,问题就来了。下面两句,第一句可以改变系统page值,第二句不能改变系统page值,因为按表单“确定”按钮后,用response.Write(request.querystring("page"))显示的是空格,没有页数。无论你在任何页点击“确定”后按“下一页”都是第二页。请教在表单中有“确定”按钮情况下我应该如何操作才能改变系统page的值。或我怎么才能使我在点击“确定”后按“下一页”都能确保是当前页的下一页,而不是第二页。
1,<a href=bzrsr.asp?page=<%=page+1%>>下一页</a>
2,<form id="form1" name="form1" method="post" action="bzrsr.asp?page=<%=page%>">
2007-07-24 05:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-156928-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.693547 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved