| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖
标题:分页问题
只看楼主 加入收藏
ge127
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2005-12-29
收藏
 问题点数:0 回复次数:3 
分页问题
我想从数据库中读起一篇文章(这篇文章比较长)到页面显示,
请问下怎样才能控制它使它分页显示
搜索更多相关主题的帖子: 数据库 文章 
2006-03-24 22:36
snakelee
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-3-24
收藏
得分:0 

每1万字为一页

pagesize = 10000 '每页显示的最多字符

text = rs("text") '获取文章内容到一个变量

textlen = Len(text) '计算文章长度

For i=1 to textlen step pagesize

pagetext = Mid(text,i,pagesize)
Response.Write(pagetext)
Response.Write("</td></tr)<tr><td>")

Next

大概就是这个意思吧 当然可以循环的时候把pagetext赋给一个数组 然后下一页显示的是数组第二个元素里的内容拉 然后再下一页就是数组的第3个元素里的内容


编程的路很坎坷 有时会迷茫 但我们已不再孤单 让我们携手通行 coding. - 开发者联盟
2006-03-24 22:57
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 

转载(没有测试是否可行,再次提供高楼主参考!)

利用统计文章字数,然后达到一定字数就截断输出,但是分页的内容就会在莫名其妙的地方截断,不是很友好。
很简单,在要截断的地方附近找下面的符号:
;’”?。!;'".!
如果后面存在<p>或<br>就分页。主要是要研究文章的格式。
<%
if Request.ServerVariables("Content_Length") > 0 then
content = Request.Form("textarea1")

PageLength = 1000 '每页字数
CLength = Len(content)
PageCount = Int(Clength/PageLength) + 1 '计算页数

dim PageArray
redim PageArray(PageCount)

Seperator = Array(chr(13),chr(10),"。","!","?",";",",","”","’") '分隔符

PageArray(0) = 0
Pos = 0
for j=0 to ubound(Seperator)
Pos = instr(PageArray(i)+900,content,Seperator(j)) 'PageArray(i)+900 附近位置是100字,1-999可调
while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wend

if PageArray(i) > 0 then
Response.Write "0:i| "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
j = j + ubound(Seperator) + 1
end if
next

for i=1 to PageCount-1
PageArray(i) = 0
Pos = 0
for j=0 to ubound(Seperator)
Pos = instr(PageArray(i-1)+950,content,Seperator(j))
while Pos > 0 and Pos < (i+1)*PageLength and Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wend

if PageArray(i) > 0 then
Response.Write i&":i| "&PageArray(i)&"<br>"&j&":j"&Seperator(j)&"<br>"
j = j + ubound(Seperator) + 1
end if
next
next

output = mid(content,1,PageArray(0))
output = replace(output,chr(13),"<br>")
Response.Write "<br><br>第1段<br>"
Response.Write output

for i=1 to PageCount-2
output = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
output = replace(output,chr(13),"<br>")
Response.Write "<br><br>第"&i+1&"段<br>"
Response.Write output
next

'最后一段的输出就要自己写了

else
%>
<FORM action="" method=POST id=form1 name=form1>
<TEXTAREA rows=70 cols=120 id=textarea1 name=textarea1>
</TEXTAREA>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
</FORM>
<%end if%>


[此贴子已经被作者于2006-3-25 9:04:18编辑过]


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2006-03-25 09:04
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 

这段太强,挺好的


让我们风风火火的过一生,别平平淡淡过一年。
2006-03-25 12:33
快速回复:分页问题
数据加载中...
 
   



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

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