分页问题?
页面(index.asp):
<form action="AdvSearch.asp" method="post" name="myform" id="myform">
通过按钮search查询到另一页面(productshow.asp)
在productshow.asp中,获取传过来的值与写SQL查询语句,运用到以下分页的方法:
<%dim i,intPage,page,pre,last,filepath
set rs = server.CreateObject("adodb.recordset")
rs.PageSize = 5
rs.CursorLocation = 3
rs.Open sqltext,conn,0,2,1
pre = true
last = true
page = trim(Request("page"))
if len(page) = 0 then
intpage = 1
pre = false
else
if cint(page) =< 1 then
intpage = 1
pre = false
else
if cint(page) >= rs.PageCount then
intpage = rs.PageCount
last = false
else
intpage = cint(page)
end if
end if
end if
if not rs.eof then
rs.AbsolutePage = intpage
end if
%>
开始循环:
<%
for i=1 to rs.PageSize
if rs.EOF or rs.BOF then exit for
%>
.......
循环结束:
<%
rs.movenext
next
%>
显示分页:
<table width="99%" border="1" cellpadding="2" cellspacing="2" borderColorLight=#808080 borderColorDark=#ffffff>
<tr>
<%if rs.pagecount > 0 then%>
<td width="13%" height="39" align="left">当前页<%=intpage%>/<%=rs.PageCount%></td>
<%else%>
<td width="41%" align="left">当前页0/0</td><%end if%>
<td width="46%" align="right"> <a href="本页.asp?page=1">首页</a>|
<%if pre then%>
<a href="advSearch.asp?page=<%=intpage -1%>">上页</a>| <%end if%>
<%if last then%>
<a href="advSearch.asp?page=<%=intpage +1%>">下页</a> |<%end if%>
<a href="advSearch.asp?page=<%=rs.PageCount%>">尾页</a>|转到第
<select name="sel_page" onchange="javascript:location=this.options[this.selectedIndex].value;">
<%
for i = 1 to rs.PageCount
if i = intpage then%>
<option value="advSearch.asp?page=<%=i%>" selected><%=i%></option>
<%else%>
<option value="advSearch.asp?page=<%=i%>"><%=i%></option>
<%
end if
next
%>
</select>页</font>
</td>
</tr>
</table>
为啥我从index.asp按search后,出错:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配
/onlinesearch/AdvSearch.asp,行103
急啊!
问题点数:20、回复次数:5Top
1 楼laby888()回复于 2006-06-03 09:35:40 得分 0
类型已匹配,这103行改成if cint(page)=0 then
但为何,我查询到第一页,第二页显示记录结果就会出错呢?为啥?谢谢!问题解决就马上结分.Top
2 楼jinfeng003(靳奉山)回复于 2006-06-03 09:48:09 得分 0
page = clng(Request("page"))
if page <= 0 then
intpage = 1
pre = false
end if
if cint(page) >= rs.PageCount then
intpage = rs.PageCount
last = false
end if
没必要像你写的那么麻烦,这样分别判断更清晰Top
3 楼jinfeng003(靳奉山)回复于 2006-06-03 09:49:38 得分 0
if page >= rs.PageCount then
intpage = rs.PageCount
last = false
end if
这点刚才写错了,差不多
还有就是尽量使用Clng,少用Cint,我用过几个机器都是不支持CInt但是支持CLngTop
4 楼chinastorm(JOBS.CN)回复于 2006-06-03 09:51:17 得分 0
<table>
<tr>
<td width="320" valign="top"><br>
<span class="guoji">
<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select newsId,newsTitle,newsContent,pageURL from News_ArticleList Where firstClassId=7 order by newsId desc"
rs.Open sql,conn,1,1
If rs.EOF then
Response.Write("<tr><td>暂时没有新闻!</td></tr>")
pageFlag = true
else
Perpage = 10
text="0123456789"
Rs.PageSize = 10
for i=1 to len(request("page"))
checkpage=instr(1,text,mid(request("page"),i,1))
if checkpage=0 then
exit for
End If
next
If checkpage<>0 then
If NOT IsEmpty(request("page")) Then
CurrentPage=Cint(request("page"))
If CurrentPage < 1 Then CurrentPage = 1
If CurrentPage > rs.PageCount Then CurrentPage = rs.PageCount
Else
CurrentPage= 1
End If
If not Rs.eof Then Rs.AbsolutePage = CurrentPage End If
Else
CurrentPage=1
End If
i=0
do While not rs.eof
%>
循环操作
<%
i = i + 1
if i > Perpage-1 then exit do
rs.MoveNext
loop
End If
%>
</span>
<% If pageFlag <> true Then%>
<table width="100%" height="19" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="82%" align="center">
<%
Response.write "<font color='#000000'> 新闻:</font>"
Response.write "共</font>" & "<font color=#FF0000>" & Cstr(Rs.RecordCount) & "</font>" & "<font color='#000000'>条</font></strong> "
Response.write "<font color='#000000'>当前是第</font>" & "<font color=#FF0000>" & Cstr(CurrentPage) & "</font>页 " & "<font color='#000000'>共有<font color=#FF0000>" & Cstr(rs.pagecount) & "</font>页</font> "
If Cstr(CurrentPage) > 1 Then
response.write "<a href='guoji_news.asp?page="+cstr(1)+"'><font color='#000000'>首页</font></a><font color='#ffffff'> </font>"
Response.write "<a href='guoji_news.asp?page="+Cstr(currentpage-1)+"'><font color='#000000'>上一页</font></a><font color='#ffffff'> </font>"
End If
If Cstr(CurrentPage) < Cstr(rs.pagecount) Then
Response.write "<a href='guoji_news.asp?page="+Cstr(currentPage+1)+"'><font color='#000000'>下一页</font></a><font color='#ffffff'> </font>"
Response.write "<a href='guoji_news.asp?page="+Cstr(Rs.PageCount)+"'><font color='#000000'>尾页</font></a> "
End If
rs.close
set rs = nothing
%>
</td>
</tr>
</table>
<%End If%></td>
</td></tr></table>Top
5 楼keya(守望者)回复于 2006-06-03 10:27:29 得分 0
rs.open sql,conn,1,1
maxperpage=5
rs.pagesize=maxperpage
if request("page")="" then
page=1
else
page=cint(request("page"))
end if
if not (rs.eof or err) then rs.move (page-1)*maxperpage
do while not (rs.eof or err)
''''''''''
rs.movenext
loopTop




