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

  给万博系统的新闻系统增加分页功能,无需修改数据库,只需改变一个文件,就可以了.

  如果将后台的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>