吴奇隆刘诗诗有孩子吗:ASP分页不正常

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 14:21:43
我的代码如下:
<table width="700" border="1" cellspacing="1" bordercolor="#996699">
<%set rs=server.CreateObject("adodb.recordset")
sql="select top 10 * from opus order by id desc"
rs.open sql,conn,1,1%>
<%rs.pagesize=4 '设置每页显示多少条记录
page=request.QueryString("page")
if page<>"" then
rs.absolutepage = page
else
page=1
end if%>

<%for i=1 to rs.pagesize%>
<%if not rs.eof then%>
<tr>
<td width="636"><div align="left"><%=rs("title")%></div></td>
<td width="54"><div align="right"><%=rs("author")%></div></td>
</tr>
<%rs.movenext
end if
next%>
</table>

<br>
<table width="700" border="0">
<tr>
<td width="390"> <div align="right">
<%for i=1 to rs.pagecount
response.Write("<font color=red>[<a href='story.asp?page="&i&"'>"&i&"</a>]</font>")
next%>
</div></td>
<td width="300"> <%'分页方法二%>
<%if page=rs.pagecount then
response.write "  "&"<a href=story.asp?page=1"&">第一页</a>"&"  "
response.write "  "&"<a href=story.asp?page=" &(page-1) &">上一页</a>"&"  "

elseif page=1 then
response.write "  "&"<a href=story.asp?page=" &(page+1)&">下一页</a>"&"  "
response.write "<a href=story.asp?page=" &(rs.pagecount) &">最后页</a>"

elseif page<>1 and page<>rs.pagecount then
response.write "  "&"<a href=story.asp?page=1"&">第一页</a>"&"  "
response.write "  "&"<a href=story.asp?page=" &(page-1) &">上一页</a>"&"  "
response.write "  "&"<a href=story.asp?page=" &(page+1)&">下一页</a>"&"  "
response.write "<a href=story.asp?page=" &(rs.pagecount) &">最后页</a>"

end if

response.Write(rs.pagecount)%></td>
</tr>
</table>

我的记录集中可以分三页,前两页显示都正常.到最后一页,还显示"下一页和最后一页"

当我把rs.pagecount改成3时,却正常了,最后一页也没有"下一页和最后一页"
还是不行

在for 循环里面用reponse.write打出你的pagecount看看

根据你这句‘当我把rs.pagecount改成3时,却正常了,最后一页也没有"下一页和最后一页"’
我怀疑你却出来的pagecount有问题。

GOOD LUCK

<%
sub vis(rs,pageno)
response.write "<table width=600 align=center>"
for i=0 to rs.fields.count-1
response.write "<td>"
response.write rs.fields(i).name
response.write "</td>"
next
response.write "<tr>"
rs.absolutepage=pageno
for j=1 to rs.pagesize
for i=0 to rs.fields.count-1
response.write "<td>"
response.write rs.fields(i).value
response.write "</td>"
next
response.write "<tr>"
rs.movenext
if rs.eof then exit for
next
response.write "</table>"
end sub
%>
<html>
<head>
<title>fdsadf</title>
</head>
<%
set rs=server.createobject("adodb.recordset")
conn="dbq="+server.mappath("mydb.mdb")+";defaultdir=;driver={microsoft access driver (*.mdb)}"
sql="select * from mytable"
rs.open sql,conn,1,1
rs.pagesize=25
pageno=request("pageno")
if pageno<>1 then
response.write "[<a href=ins.asp?pageno="&cstr(1)&">首页</a>]"
response.write "[<a href=ins.asp?pageno="&cstr(pageno-1)&">上一页</a>]"
else
response.write "[首页][上一页]"
end if
if pageno=cstr(rs.pagecount) then
response.write "[页尾][下一页]"
else
response.write "[<a href=ins.asp?pageno="&cstr(rs.pagecount)&">页尾</a>]"
response.write "[<a href=ins.asp?pageno="&cstr(pageno+1)&">下一页</a>]"
end if
if pageno="" then pageno=1
response.write "<p>共有记录"&rs.recordcount&"条.现在是第"&pageno&"页.总共"&rs.pagecount&"页<p>"
if pageno="" then
vis rs,1
else
vis rs,pageno
end if
%>
</html>
用我这个吧.肯定没问题

page是字符型,字符型的1不等于数字1,其实你从头到尾都都是执行的:
elseif page<>1 and page<>rs.pagecount then
....
endif
你得用个函数把page转成数字!虽然说vb能自动识别类型的....可是有时候会出问题呵!

int(page)+1...看看怎么样
我今天做分页的时候也出了问题,后来发现是没有写上
page=request.QueryString(\"page\")
--#