请教一分页小问题

cornerslippers 2005-04-04 03:21:38
<%@ Language=VBScript %>
<%set cn=server.CreateObject("adodb.connection")
cn.Open session("GZL8000_ConnectionString")

set rs = Server.CreateObject("ADODB.RecordSet")

sqlstr="SELECT * FROM adv_member_product where adv_memberid = '"& request("adv_memberid") &"' and isshow='yes'"

sqlstr = sqlstr &" order by announce_time desc"
rs.Open sqlstr,cn,1

rs.PageSize =10
if not IsEmpty(request("topage")) then
topage=cint(request("topage"))
if topage>rs.PageCount then
rs.AbsolutePage =rs.PageCount
else
if topage<=0 then
rs.AbsolutePage =1
else
rs.AbsolutePage =topage
end if
end if
end if
total_page=rs.PageCount
intcurpage=rs.AbsolutePage
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="topstyle.css" rel="stylesheet" type="text/css">
<title></title>
<script language="javascript"><!--
function submit_form(dowhat){
var i;
switch (dowhat){
case 'next_page':
document.form1.topage.value=<%=intcurpage+1%>
document.form1.submit();
break;
case 'front_page':
document.form1.topage.value=<%=intcurpage-1%>
document.form1.submit();
break;
case 'first_page':
document.form1.topage.value=1
document.form1.submit();
break;
case 'last_page':
document.form1.topage.value=<%=total_page%>
document.form1.submit();
break;
default:
break;
}
}
//--></script>
<link href="/css/main.css" rel="stylesheet" type="text/css">
</head>
<body background="pic_14.gif">
<form name="form1" method="post" action="product_index.asp" ID="Form1">
<table width="98%" border="0" cellspacing="0" cellpadding="0" align=center ID="Table1" >
<tr>
<td align=center>
<table width="100%" border="0" align=center cellpadding="0" cellspacing="2" class="product" ID="Table6">
<%
for i=1 to rs.PageSize
if rs.EOF then
exit for
end if
%>
<tr style="font-size:9pt;line-height:12pt;">
<td width="85%" align=left >     <%=rs("adv_topic")%></td>
<td width="15%">¥<%=rs("price")%></td>
</tr>
<%
rs.movenext
next

%>
</table>

<table width="100%" border="0" align=center cellpadding="0" cellspacing="2" class="product" ID="Table6" style="font-size: 9pt">
<tr><td> <br></td></tr>
<tr style="line-height:15pt;"><td width=20%><center>共 <b><font color="#FF0000"><%=rs.PageCount %></font></b> 页</center></td>
<td>当前第 <b><font color="#FF0000"><%=intcurpage%></font></b> 页</td>
<% if rs.RecordCount>0 then%>
<% if intcurpage<>1 then %>
<td width=15%><a href ="javascript:submit_form('first_page')">↑第一页</a></td>
<td width=15%><a href ="javascript:submit_form('front_page')"><---上一页</a></td>
<% end if %>
<% if intcurpage<>rs.PageCount then%>
<td width=15% ><a href ="javascript:submit_form('next_page')">下一页---></a></td>
<td width=15%><a href ="javascript:submit_form('last_page')">最后一页↓</a></td>
<center> <% end if%> </center>
<%end if%>
</tr>
</table>
</td>
</tr>
</table>
<input name="adv_memberid" type="hidden" value="<%=request("adv_memberid")%>" ID="Hidden1">
<input name="topage" type="hidden" value="<%=intcurpage%>" ID="Hidden5">
</form>
</body>
</html>
<%
rs.close
set rs=nothing
cn.Close
set cn=nothing
%>

源程序如上(本页为product_index.asp),数据读取完全正确,能够按照数据条数进行分页,但当前页intcurpage(intcurpage=rs.AbsolutePage)却为-1(负一),这样也导致了<input name="topage" type="hidden" value="<%=intcurpage%>" ID="Hidden5"> 不正确,百思不得原因,请各位高手指点!谢谢
...全文
210 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yb2008 2005-04-15
  • 打赏
  • 举报
回复
分页核心代码----------------------------------------------------------------------------
<%
set rs=Server.CreateObject("Adodb.RecordSet")
sqlstr="select * from data" '精品推荐
rs.open sqlstr,conn,1,3

link="CustomerView.asp?SearchText="&SearchText&"&" '翻页
if rs.eof<>true then
if not isempty(request("page")) then
pagecount=cint(request("page"))
else
pagecount=1
end if
rs.pagesize=10
if pagecount>rs.pagecount or pagecount<=0 then
pagecount=1
end if
rs.AbsolutePage=pagecount
if pagecount=1 then
page_start=1
end if
if pagecount*rs.pagesize=>rs.recordcount then
page_end=rs.recordcount
end if
i=0
end if
%>
----------------------------------------------------------------------------
<%
sub Page '分页
response.write"<form name='go2to' form method=Post action="&link&">"
if pagecount=1 then
response.write "首页 上一页 "
else
response.write "<a class=title href="&link&"page=1>首页</a> "
response.write "<a class=title href="&link&"page="&cstr(pagecount-1)&">上一页</a> "
end if
if rs.PageCount-pagecount<1 then
response.write "下一页 尾页"
else
response.write "<a class=title href="&link&"page="&cstr(pagecount+1)&">下一页</a> "
response.write "<a class=title href="&link&"page="&cstr(rs.PageCount)&"><font class=ver>尾页</font></a>"
end if
response.write " 页次:"&pagecount&"/"&rs.pagecount&"页"
response.write "转到第<input class='inputnormal' type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; color:#00006A; position: relative; height: 18' value="&PageCount&">页 "
response.write ("<input type='button' name='GO' value='GO' onclick=check('"&link&"')>")
response.Write "</form>"
end sub
%>
fangq 2005-04-15
  • 打赏
  • 举报
回复
我来贴一个比较完善的!
<table width="379" border="0" align="center" cellspacing="0">
<tr>
<td width="369"><table width="351" height="29" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="27" valign="bottom" width="349">
<div align="right">
<%if rs.pagecount>1 then %>
<span class="style2"> 第</span>
<%end if %>
<%if rs.pagecount<>1 then
if request("df")="" then
df=1

else
df=request("df")
end if
for i=df to rs.pagecount
'------------------------------------向上翻页-------------------------------------
if i=df+0 and df<>1 then response.Write("<span class='fq2'> <a href='view_da.asp?dd=bd&df="&df-10&"&id=&ds=ly_xs' title='上一页'><<</a> </span>")
'------------------------------------向下翻页-------------------------------------
if i>9+df then
response.Write("<span class='fq2'> <a href='view_da.asp?dd=bd&df="&i&"&sel="&request("sel")&"&titl="&request("titl")&"' title='下一页'>>></a> </span>")
exit for
end if
response.write("<span class='fq2'> <a href='view_da.asp?dd=bd&page="&i&"&df="&df&"&sel="&request("sel")&"&titl="&request("titl")&"&sel2=组别'>"&i&"</a></span>")
next
else
end if%>
<span class="style2">
<%if rs.pagecount>1 then %>

<%end if
%>
 </span></div></td>
</tr>
</table>
wangasp 2005-04-15
  • 打赏
  • 举报
回复
学习
bluedue 2005-04-04
  • 打赏
  • 举报
回复
<% closeDB
Function showpage(totalnumber,maxperpage,filename)
Dim n

If totalnumber Mod maxperpage=0 Then
n= totalnumber \ maxperpage
Else
n= totalnumber \ maxperpage+1
End If

Response.Write "<form method=Post action="&filename&">"
Response.Write "<p align='center' class='contents'> "
If CurrentPage<2 Then
Response.Write "<font class='contents'>首页 上一页</font> "
Else
Response.Write "<a href="&filename&"?page=1 class='contents'>首页</a> "
Response.Write "<a href="&filename&"?page="¤tPage-1&"&act="&act&" class='contents'>上一页</a> "
End If

If n-currentpage<1 Then
Response.Write "<font class='contents'>下一页 尾页</font>"
Else
Response.Write "<a href="&filename&"?page="&(CurrentPage+1)&"&act="&act&" class='contents'>"
Response.Write "下一页</a> <a href="&filename&"?page="&n&"&act="&act&" class='contents'>尾页</a>"
End If
Response.Write "<font class='contents'> 页次:</font><font class='contents'>"¤tPage&"</font><font class='contents'>/"&n&"页</font> "
Response.Write "<font class='contents'> 共有"&totalnumber&"条产品 "
Response.Write "<font class='contents'>转到:</font><input type='text' name='pageok' size=2 maxlength=10 class=smallInput value="¤tpage&">"
Response.Write "<input name='act' type='hidden' id='act' value='"&act&"'>"
Response.Write " <input type='submit' class='contents' value='GO' name='cndok'></form>"
End Function

%>
xumw 2005-04-04
  • 打赏
  • 举报
回复
老是喜欢丢三拉四的,不好意思

<% If not rs.eof Then %>这句错了,应该是<% If not rs.bof Then %>
xumw 2005-04-04
  • 打赏
  • 举报
回复
<%
rs.pagesize=5 //每页显示5条记录
pagecount=rs.pagecount //总页数
page=int(request.QueryString("page")) //客户端提交的当前页
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.absolutepage=page //设置当前页为page
mo=rs.recordcount //共多少条记录
%>
这些楼主应该知道的吧。 上面代码少了个 <%end if%>
yb2008 2005-04-04
  • 打赏
  • 举报
回复
给你个算了,,,,,,


分页核心代码----------------------------------------------------------------------------
<%
set rs=Server.CreateObject("Adodb.RecordSet")
sqlstr="select * from data" '精品推荐
rs.open sqlstr,conn,1,3

link="CustomerView.asp?SearchText="&SearchText&"&" '翻页
if rs.eof<>true then
if not isempty(request("page")) then
pagecount=cint(request("page"))
else
pagecount=1
end if
rs.pagesize=10
if pagecount>rs.pagecount or pagecount<=0 then
pagecount=1
end if
rs.AbsolutePage=pagecount
if pagecount=1 then
page_start=1
end if
if pagecount*rs.pagesize=>rs.recordcount then
page_end=rs.recordcount
end if
i=0
end if
%>
----------------------------------------------------------------------------
<%
sub Page '分页
response.write"<form name='go2to' form method=Post action="&link&">"
if pagecount=1 then
response.write "首页 上一页 "
else
response.write "<a class=title href="&link&"page=1>首页</a> "
response.write "<a class=title href="&link&"page="&cstr(pagecount-1)&">上一页</a> "
end if
if rs.PageCount-pagecount<1 then
response.write "下一页 尾页"
else
response.write "<a class=title href="&link&"page="&cstr(pagecount+1)&">下一页</a> "
response.write "<a class=title href="&link&"page="&cstr(rs.PageCount)&"><font class=ver>尾页</font></a>"
end if
response.write " 页次:"&pagecount&"/"&rs.pagecount&"页"
response.write "转到第<input class='inputnormal' type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; color:#00006A; position: relative; height: 18' value="&PageCount&">页 "
response.write ("<input type='button' name='GO' value='GO' onclick=check('"&link&"')>")
response.Write "</form>"
end sub
%>
xumw 2005-04-04
  • 打赏
  • 举报
回复
少打了个字 楼主的分页
<%
rs.pagesize=5
pagecount=rs.pagecount
page=int(request.QueryString("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.absolutepage=page
mo=rs.recordcount
%>

<% for i=1 to rs.pagesize %> //从第一页循环到最后一页
//循的内容
<% rs.movenext
if rs.eof then exit for
next
%>

<% If not rs.eof Then %>
<A HREF="***.asp?page=1">首页</A><A HREF="***.asp?page=<%=page-1%>">上一页</A>
<% else
response.write "首页 上一页"
%>
…………
下一下 尾页 自己写一下吧。。 嘿………………
kkkbs 2005-04-04
  • 打赏
  • 举报
回复
看的好晕...直接去搜下分页相关的资料吧
lstup 2005-04-04
  • 打赏
  • 举报
回复
……
太长了,看不下去,但是要是分页的话,你可以看一看这个
http://www.37zz.com/ShowPost.asp?id=58
xumw 2005-04-04
  • 打赏
  • 举报
回复
楼主的分,也太复杂了吧!~
ryuginka 2005-04-04
  • 打赏
  • 举报
回复
up

28,406

社区成员

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

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