skybirdzw 发布留言 2008-10-31 10:22
ASP for循环分页问题
这是我用来循环生成分页的代码,现在的问题是生成的多个页面中内容部分是一样的!是不是RS在读取记录时出现了问题?我实在想不出来了! 请高手帮我看看这段代码?非常感激! 我在线等待~~
for page=1 to counts
News_con=""
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from [product] where isMakeHtml=1 order by proid desc",conn,1,1
rs.PageSize = num
if Not IsEmpty(page) then
if Not IsNumeric(page) then
page=1
else
Page = cint(page)
end if
if Page > rs.PageCount then
rs.AbsolutePage = rs.PageCount
elseif Page <= 0 then
rs.AbsolutePage = 1
else
rs.AbsolutePage = Page
end if
else
rs.AbsolutePage=1
end if
Page = rs.AbsolutePage
News_con=News_con & "
"
For i = 1 to rs.PageSize
News_con=News_con & "| "&left(rs("title"),8)&" | " News_con=News_con & "&") | " News_con=News_con & "" if len(rs("content"))>80 then News_con=News_con & left(rs("content"),80)&"..." else News_con=News_con & rs("content") end if News_con=News_con &" | | 详细内容>> |
| " News_con=News_con & " | " News_con=News_con & " | | "
rs.MoveNext
if rs.eof then exit for
if i mod 2=0 then News_con=News_con & "
|
"
NEXT
News_con=News_con & "
"
News_con=News_con&"
"
If page=1 then
News_con=News_con&"[首页]"
News_con=News_con&"[上一页]"
else
News_con=News_con&"[首页]"
News_con=News_con&"[上一页]"
end if
if page=rs.pagecount then
News_con=News_con&"[下一页]"
News_con=News_con&"[尾页]"
else
News_con=News_con&"[下一页]"
News_con=News_con&"[尾页]"
end if
News_con=News_con&"[页次:"&page&"/"&rs.PageCount&"]"
News_con=News_con&"[共"&rs.RecordCount&"件产品 "&rs.PageSize&"件/页]"
News_con=News_con&"
"
rs.close
Set rs = Nothing
mb_code=replace(mb_code,"$leftmenu$",leftmenu)
mb_code=replace(mb_code,"$content$",News_con)
filename="../Htmlfile/ProductList_"&page&".html"'要生成的页
Set files = fso.CreateTextFile(Server.MapPath(filename),true) '生成HTML页
files.WriteLine mb_code '写入内容
files.close
set files=nothing
'set fso=nothing
next
yms123 发布留言 2008-10-31 14:00
for page=1 to counts
这个循环什么意思?
hmhz 发布留言 2008-10-31 15:14
哪有使用for来循环数据的,这样你的数据不是重复的嘛
skybirdzw 发布留言 2008-10-31 17:30
counts就是rs.pagecount 值是2. 我改了一下,把这几行移动到FOR循环之外:
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from [product] where isMakeHtml=1 order by proid desc",conn,1,1
rs.PageSize = num
hmhz说的就是这样的吧?
multiple1902 发布留言 2008-10-31 22:27
还有,循环内部为什么修改循环控制变量的值?
页: [1]