当前位置: 首页 > 图文教程 > 网络编程 > ASP > 给万博系统的新闻系统增加分页功能[配有详细说明]

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP 中的 给万博系统的新闻系统增加分页功能[配有详细说明]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 206 ::
收藏到网摘: n/a

给万博系统的新闻系统增加分页功能,无需修改数据库,只需改变一个文件,就可以了.
如果将后台的Webediter增加一个插入分页符,那就更完美了.我还没加这个.
本例是在后台录入新闻时,在需要分页的位置插入分页符: {$html_page$} 就可以了.
代码如下,有详细说明
newsshow.asp
<!--#include file="siteinfo.asp"-->
<HTML>
<HEAD>
<TITLE><%=sitename%></TITLE>
<META HTTP-EQUIV="Content-Type" C>
<link href="images/CSS.css" type=text/css rel=stylesheet>
</HEAD>
<body topmargin="0">
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3"><!--#include file="top.asp"--></td>
</tr>
<tr>
<td width="145" align="left" valign="top"><!--#include file="left.asp" --></td>
<td align="left" valign="top" ><table width="625" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="17" height="20"> </td>
<td width="598"> </td>
<td width="10"> </td>
</tr>
<tr >
<td width="17"><% idd=trim(request.querystring("id"))
set rsr=server.createobject("adodb.recordset")
sql="select * from News where Putout=true and id="&idd
rsr.open sql,conn,1,3
if not rsr.eof then
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"找不到记录,发生导常错误,请联系管理员!"
end if
'这里要处理接收到的分页参数,以此来进行显示第几页的内容
'下面这两句就是如果没有page这个参数传来就让变量pageNum取显示第一页的值:0
If Request("page")="" Then
pageNum=0
'否则就给变量赋值为传递来的page里的参数,来显示其他页
Else
pageNum=Request("page")
End if
%>
<%
'如果加了可选执行UBB代码,可以加上下面的代码
'rs("NoUBB")是数据库里关于禁用UBB的字段,0为禁用,1为执行
'If rsr("NoUBB")=0 then
'为避免和文章内容相连出现错误,用Replace函数把分页代码“{$html_page$}”的前后各加一个全角的
'rs("content")是数据库里正文的字段,在这里加上UBB或者禁用UBB
Content=Replace(Newcontent,"{$html_page$}"," {$html_page$} ")
'Elseif rsr("NoUBB")=1 then
'Content=Replace((ubb(Newcontent)),"{$html_page$}"," {$html_page$} ")
'End if
%></td>
<td height="22" align="center" class="NEWS_title"><%=Newtitle%><br>
<hr size="1" noshade color="#666666"></td>
<td width="10"> </td>
</tr>
<tr>
<td rowspan="3"> </td>
<td height="303" valign="top" ><%
'这里就是关键了
'我们用split函数将文章分段取出存入变量content
ContentStr=split(Content,"{$html_page$}")
'按照刚才从URL参数中取得的要显示那面的那个变量,就循环显示一页
For i=pageNum to pageNum
%>
<!--这里将是文章正文内容-->
<%=ContentStr(i) %>
<% Next %></td>
<td rowspan="3"> </td>
</tr>
<tr>
<td height="8" valign="top"> </td>
</tr>
<tr>
<td height="8" align="center" valign="top">本文共分
<%
'分页的地方,用ubound(ContentStr)取得文章一共分为几页,注意这里是从0开始,所以总页数需要加1
For p = 0 to ubound(ContentStr)
'链接还是本页面,只不过文章ID参数后面还要加上一个分页的参数:page
%>
<a href="newsshow.asp?ID=<%=request("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
<% Next %>页</td>
</tr>
<tr>
<td height="40"> </td>
<td height="60" valign="bottom"><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#CECECE">
<tr bgcolor="#FFFFFF" >
<td width="16%" align="right" bgcolor="#CECECE" >发 布 者:</td>
<td width="20%" bgcolor="#FFFFFF"> <%=Putman%></td>
<td width="15%" align="right" bgcolor="#CECECE">添加时间:</td>
<td width="20%" bgcolor="#FFFFFF"> <%=addtime%></td>
<td width="15%" align="right" bgcolor="#CECECE">点 击 数:</td>
<td width="15%"><%=kig%></td>
</tr>
</table></td>
<td> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td colspan="3"><!--#include file="bot.asp"--></td>
</tr>
</table>
</body>
</html>