"界说每页最大文章题目显示量MaxPerPage,你可以本人修正这里的数字来到达你的最好显示后果
const MaxPerPage=18
dim totalPut
dim CurrentPage
dim TotalPages
dim i,j
"假设前往的页面信息是空的,也就是假如你直接输出index.asp,那末就用这里界说的页数第一页
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
dim sql
dim rs
dim rstype
dim typesql
dim typeid,typename
"假如前往的栏目信息为空,那末就用这里界说的栏目,这里指定的是第三个栏目
if not isEmpty(request("typeid")) then
typeid=request("typeid")
else
typeid=3
end if
"经由过程前往的栏目typeid号,翻开数据库显示指定的栏目,并把其值交给typename
set rstype=server.createobject("adodb.recordset")
typesql="select * from type where typeID="&cstr(typeid)
rstype.open typesql,conn,1,1
typename=rstype("type")
rstype.close
%>
"翻开指定的纪录集article并依照文章的到场日期排序,在这里翻开有两个前提,一个是使用like来查询数据库并显示相干文章题目,还有就是经由过程前往的typeid显示指定栏目标文章
<%
sql="select * from article where title like '%"&request("txtitle")&"%' and typeid="+cstr(typeid)+" order by date desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
"假如查询数据库的了局指向纪录集的入手下手或开头,暗示数据库中没有任何相干文章
if rs.eof and rs.bof then
response.write "<p align='center'>没有或没有找就任何文章</p>"
else
"假如数据库内有内容,则获得数据库内文章数量
totalPut=rs.recordcount
"假设页面参数currentpage小于1,则指定为1
if currentpage<1 then
currentpage=1
end if
"使用文章总数和每页最大文章数算得分页的页数
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
"假如分页的页数为1或页面数减1乘与页面最大文章数小于文章总数,则用已做好的function showpage在showContent子法式也就是显示文章题目局部的下面和上面显示分页法式
if currentPage=1 then
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
"界说书签
dim bookmark
bookmark=rs.bookmark
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
currentPage=1
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
end if
end if
rs.close
end if
set rs=nothing
"显示文章题目及相干数据库内容子法式
sub showContent
dim i
i=0
%>
<div align="center"><center><table border="1" cellspacing="0" width="589" bordercolorlight="#000000" bordercolordark="#FFFFFF" cellpadding="0">
<tr>
<td width="46" align="center" bgcolor="#D0D0D0" height="20"><strong>ID号</strong></td>
<td width="381" align="center" bgcolor="#D0D0D0"><strong>文章题目</strong></td>
<td width="98" align="center" bgcolor="#D0D0D0"><strong>到场日期</strong></td>
<td width="58" align="center" bgcolor="#D0D0D0"><strong>点击</strong></td>
</tr>
<%do while not rs.eof%>
<tr>
"顺次显示文章ID号,文章题目,文章到场日期及阅读数,这里的openarticle.asp是用来从头定向文章的,今后将为人人引见
<td height="23" width="46"><p align="center"><%=rs("articleid")%></td>
<td width="381"><p align="center"><a href="javascript:popwin2('openarticle.asp?id=<%=rs("articleid")%>&typeid=<%=cstr(typeid)%>')"><%=rs("title")%></a></td>
<td width="98"><p align="center"><font color="red"><i><%=rs("date")%></i></font></td>
<td width="58"><p align="center"><%=rs("hits")%></td>
</tr>
<%
"这里是一个轮回,每显示一篇文章,则界说的变量i的值加一,当i的值大于或等于页面最大文章数时加入轮回
i=i+1
if i>=MaxPerPage then exit do
"显示完一篇文章今后,主动移到纪录集的下一个纪录
rs.movenext
loop
%>
</table>
</center></div><%
end sub
"显示分页的function
function showpage(totalnumber,maxperpage,filename)
dim n
"使用文章数算出文章的分页数N
if totalnumber mod maxperpage=0 then
n= totalnumber \ maxperpage
else
n= totalnumber \ maxperpage+1
end if
response.write "<form method=Post action="&filename&"?typeid="&typeid&">"
response.write "<p align='center'><font color='#000080'>>>分页</font> "
"假如以后页数小于2,则显示的文章首页和上一页不显示毗连,不然用以后页数减去1来显示上一页,直接用page=1来显示首页
if CurrentPage<2 then
response.write "<font color='#000080'>首页 上一页</font> "
else
response.write "<a href="&filename&"?page=1&typeid="&typeid&">首页</a> "
response.write "<a href="&filename&"?page="&CurrentPage-1&"&typeid="&typeid&">上一页</a> "
end if
"假设分页页数小于1,则直接显示下一页和尾页,不然用以后页数加上1来显示下一页,用已算出的文章分页数N显示文章的尾页
if n-currentpage<1 then
response.write "<font color='#000080'>下一页 尾页</font>"
else
response.write "<a href="&filename&"?page="&(CurrentPage+1)&"&typeid="&typeid&">"
response.write "下一页</a> <a href="&filename&"?page="&n&">尾页</a>"
end if
<%@ LANGUAGE="VBSCRIPT" %>
"翻开数据库毗连
<!--#include file="conn.asp"-->
<%response.buffer=false
dim sql
dim rs
dim articleid
"使用update从文章毗连处前往的文章号ID更新指定文章的阅读数,和使用response.redirect重定向文章的毗连
articleid=request("id")
set rs=server.createobject("adodb.recordset")
sql="update article set hits=hits+1 where articleID="&articleid
rs.open sql,conn,1,1
rs.close
conn.close
response.redirect "list.asp?id="&articleid
%>