rpage=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
"用N和maxperpage显示文章的分页数和每页的文章数
response.write "<font color='#000080'> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color='#000080'>/"&n&"</strong>页</font> "
response.write "<font color='#000080'> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font> "
"直接输入文章所在页面转到相关页面
response.write " <font color='#000080'>转到:</font><input type='text' name='page' size=4 maxlength=10 class=smallInput value="¤tpage&">"
response.write "<input class=buttonface type='submit' value=' Goto ' name='cndok'></span></p></form>"
end function
%>
"文章搜索相关程序
<form name="searchtitle" method="POST" action="index.asp">
"把输入的查询字符赋值给txtitle,这样在前面的显示文章语句就起了作用title like '%"&request("txtitle")&"%'
<p>标题:<input class="smallInput" type="text" name="txtitle" size="13"> <select class="smallSel" name="typeid" size="1">
<%
"显示与文章相关的栏目信息,可以选择一个进行查询,这里的typeid也赋值给了typeid,以使前面的显示文章的程序对需要显示内容做出判断
typesql="select * from type"
rstype.open typesql,conn,1,1
do while not rstype.eof
sel="selected"
response.write "<option " & sel & " value='"+CStr(rstype("typeID"))+"' name=typeid>"+rstype("type")+"</option>"+chr(13)+chr(10)
rstype.movenext
loop
rstype.close
set conn=nothing
%> </select><input class="buttonface" type="submit" value="查 询" name="title"></p>
</form>
</div></td>
</tr>
</table>
</center></div>
</body>
</html>
在这里顺便介绍一下关于打开文章的程序openarticle.asp,这个也是一个更新数据库内容(update浏览数)和重定向文件。很简单,所以这里只是简单介绍一下它的程序内容:
<%@ 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
%>
好了,关于文章的显示首页面就完成了,它可以显示文章的标题,加入日期等文章相关信息,另外还结合了文章的分栏目搜索查询功能。在这里你会发现,利用ASP对数据库进行查询并不是一件很难的事情,只要利用一个like就可以轻易实现,文章管理的前台程序我们已经基本完成,下面该来介绍管理系统的后台程序了。
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
"用N和maxperpage显示文章的分页数和每页的文章数
response.write "<font color='#000080'> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color='#000080'>/"&n&"</strong>页</font> "
response.write "<font color='#000080'> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font> "
"直接输入文章所在页面转到相关页面
response.write " <font color='#000080'>转到:</font><input type='text' name='page' size=4 maxlength=10 class=smallInput value="¤tpage&">"
response.write "<input class=buttonface type='submit' value=' Goto ' name='cndok'></span></p></form>"
end function
%>
"文章搜索相关程序
<form name="searchtitle" method="POST" action="index.asp">
"把输入的查询字符赋值给txtitle,这样在前面的显示文章语句就起了作用title like '%"&request("txtitle")&"%'
<p>标题:<input class="smallInput" type="text" name="txtitle" size="13"> <select class="smallSel" name="typeid" size="1">
<%
"显示与文章相关的栏目信息,可以选择一个进行查询,这里的typeid也赋值给了typeid,以使前面的显示文章的程序对需要显示内容做出判断
typesql="select * from type"
rstype.open typesql,conn,1,1
do while not rstype.eof
sel="selected"
response.write "<option " & sel & " value='"+CStr(rstype("typeID"))+"' name=typeid>"+rstype("type")+"</option>"+chr(13)+chr(10)
rstype.movenext
loop
rstype.close
set conn=nothing
%> </select><input class="buttonface" type="submit" value="查 询" name="title"></p>
</form>
</div></td>
</tr>
</table>
</center></div>
</body>
</html>
在这里顺便介绍一下关于打开文章的程序openarticle.asp,这个也是一个更新数据库内容(update浏览数)和重定向文件。很简单,所以这里只是简单介绍一下它的程序内容:
<%@ 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
%>
好了,关于文章的显示首页面就完成了,它可以显示文章的标题,加入日期等文章相关信息,另外还结合了文章的分栏目搜索查询功能。在这里你会发现,利用ASP对数据库进行查询并不是一件很难的事情,只要利用一个like就可以轻易实现,文章管理的前台程序我们已经基本完成,下面该来介绍管理系统的后台程序了。