给万博系统的新闻系统增加分页功能[配有详细说明]
2018-09-06 11:04
给万博系统的新闻系统增加分页功能,无需修改数据库,只需改变一个文件,就可以了.
如果将后台的Webediter增加一个插入分页符,那就更完美了.我还没加这个.
本例是在后台录入新闻时,在需要分页的位置插入分页符:{$html_page$}就可以了.
代码如下,有详细说明
newsshow.asp
<!--#includefile=siteinfo.asp-->
<HTML>
<HEAD>
<TITLE><%=sitename%></TITLE>
<METAHTTP-EQUIV=Content-TypeC>
<linkhref=images/CSS.csstype=text/cssrel=stylesheet>
</HEAD>
<bodytopmargin=0>
<tablewidth=780border=0cellspacing=0cellpadding=0>
<tr>
<tdcolspan=3><!--#includefile=top.asp--></td>
</tr>
<tr>
<tdwidth=145align=leftvalign=top><!--#includefile=left.asp--></td>
<tdalign=leftvalign=top><tablewidth=625border=0cellspacing=0cellpadding=0>
<tr>
<tdwidth=17height=20></td>
<tdwidth=598></td>
<tdwidth=10></td>
</tr>
<tr>
<tdwidth=17><%idd=trim(request.querystring(id))
setrsr=server.createobject(adodb.recordset)
sql=select*fromNewswherePutout=trueandid=&idd
rsr.opensql,conn,1,3
ifnotrsr.eofthen
Newcontent=rsr(Newcontent)
Newtitle=rsr(Newtitle)
Putman=rsr(Putman)
kig=rsr(kig)
kig=kig+1
addtime=rsr(addtime)
rsr(kig)=kig
rsr.update
else
response.Write找不到记录,发生导常错误,请联系管理员!
endif
这里要处理接收到的分页参数,以此来进行显示第几页的内容
下面这两句就是如果没有page这个参数传来就让变量pageNum取显示第一页的值:0
IfRequest(page)=Then
pageNum=0
否则就给变量赋值为传递来的page里的参数,来显示其他页
Else
pageNum=Request(page)
Endif
%>
<%
如果加了可选执行UBB代码,可以加上下面的代码
rs(NoUBB)是数据库里关于禁用UBB的字段,0为禁用,1为执行
Ifrsr(NoUBB)=0then
为避免和文章内容相连出现错误,用Replace函数把分页代码“{$html_page$}”的前后各加一个全角的
rs(content)是数据库里正文的字段,在这里加上UBB或者禁用UBB
Content=Replace(Newcontent,{$html_page$},{$html_page$})
Elseifrsr(NoUBB)=1then
Content=Replace((ubb(Newcontent)),{$html_page$},{$html_page$})
Endif
%></td>
<tdheight=22align=centerclass=NEWS_title><%=Newtitle%><br>
<hrsize=1noshadecolor=#666666></td>
<tdwidth=10></td>
</tr>
<tr>
<tdrowspan=3></td>
<tdheight=303valign=top><%
这里就是关键了
我们用split函数将文章分段取出存入变量content
ContentStr=split(Content,{$html_page$})
按照刚才从URL参数中取得的要显示那面的那个变量,就循环显示一页
Fori=pageNumtopageNum
%>
<!--这里将是文章正文内容-->
<%=ContentStr(i)%>
<%Next%></td>
<tdrowspan=3></td>
</tr>
<tr>
<tdheight=8valign=top></td>
</tr>
<tr>
<tdheight=8align=centervalign=top>本文共分
<%
分页的地方,用ubound(ContentStr)取得文章一共分为几页,注意这里是从0开始,所以总页数需要加1
Forp=0toubound(ContentStr)
链接还是本页面,只不过文章ID参数后面还要加上一个分页的参数:page
%>
<ahref=newsshow.asp?ID=<%=request(ID)%>&page=<%=p%>class=><%=p+1%></a>
<%Next%>页</td>
</tr>
<tr>
<tdheight=40></td>
<tdheight=60valign=bottom><tablewidth=100%border=0cellpadding=5cellspacing=1bgcolor=#CECECE>
<trbgcolor=#FFFFFF>
<tdwidth=16%align=rightbgcolor=#CECECE>发布者:</td>
<tdwidth=20%bgcolor=#FFFFFF><%=Putman%></td>
<tdwidth=15%align=rightbgcolor=#CECECE>添加时间:</td>
<tdwidth=20%bgcolor=#FFFFFF><%=addtime%></td>
<tdwidth=15%align=rightbgcolor=#CECECE>点击数:</td>
<tdwidth=15%><%=kig%></td>
</tr>
</table></td>
<td></td>
</tr>
</table></td>
<td></td>
</tr>
<tr>
<tdcolspan=3><!--#includefile=bot.asp--></td>
</tr>
</table>
</body>
</html>
上一篇:计网络硬盘之两重要类
下一篇:asp防范跨站点脚本攻击的的方法
文章标题:给万博系统的新闻系统增加分页功能[配有详细说明]
文章链接:http://soscw.com/index.php/essay/9002.html