ASP技術(shù)在論壇中的使用(4)(吐血推薦。。。。
發(fā)表時(shí)間:2024-02-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]文章顯示模塊 前面說(shuō)過(guò),一片具體的文章是分屬在看板和主體之下的。因此顯示文章也要經(jīng)過(guò)看板列表和主體列表這兩頁(yè)面后,才能得到特定主題下文章的列表。 下面先來(lái)看看看板列表的顯示頁(yè)面: < html> ...
文章顯示模塊
前面說(shuō)過(guò),一片具體的文章是分屬在看板和主體之下的。因此顯示文章也要經(jīng)過(guò)看板列表和主體列表這兩頁(yè)面后,才能得到特定主題下文章的列表。
下面先來(lái)看看看板列表的顯示頁(yè)面:
< html>
< head>
< title>看板列表< /title>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< /head>
< %
'打開(kāi)連接,顯示看板列表
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")
sql = "select * from 看板列表"
set rs=conn.execute(sql)
%>
簡(jiǎn)單的SQL查詢,把所有的看板有關(guān)信息傳回到紀(jì)錄集RS中。下面的任務(wù)就是顯示紀(jì)錄記得內(nèi)容,并在相應(yīng)的看板名稱上建立顯示看板主題的鏈接。
< body bgcolor="#FFFFFF">
< h2 align="center">看板列表< /h2>
< table width="60%" border="0" cellspacing="0" cellpadding="0" align="center">
< tr bgcolor="#FFFFCC">
< td height="35" width="25%">看板名稱< /td>
< td height="35" width="21%">板主< /td>
< td height="35" width="23%">主題數(shù)< /td>
< td height="35" width="31%">板主登陸< /td>
< /tr>
這兒一部分是顯示出表格中每一列的標(biāo)題,這兒我沒(méi)有用一個(gè)統(tǒng)一的函數(shù)來(lái)顯示RS紀(jì)錄記的內(nèi)容,因?yàn)檫@樣可以對(duì)表格的外觀和風(fēng)格做更多的控制,使用起來(lái)雖然有點(diǎn)麻煩,但是卻更為靈活。
< %
do
boardid=rs("id")
boardname=rs("名稱")
boardmanager=rs("板主")
response.write "< tr>< td>< a href=qBoard.asp?boardid="& boardid & "&boardname=" & boardname & ">" & boardname & "< /a>< /td>"
這一行是重點(diǎn),當(dāng)點(diǎn)擊了各個(gè)板的名稱后,可以鏈接到顯示看板主題的頁(yè)面。代碼看起來(lái)有點(diǎn)麻煩,我分解了給你講,你就會(huì)明白了。在點(diǎn)擊之后,瀏覽器請(qǐng)求調(diào)用的是qBoard.asp頁(yè)面,并帶有一個(gè)參數(shù)boardid,代表要顯示看板的ID號(hào),在請(qǐng)求頁(yè)面和參數(shù)之間用問(wèn)號(hào)(?)分隔。Boardid是前面設(shè)定了的變量,其中包含的就是對(duì)應(yīng)看板的ID號(hào)。這個(gè)鏈接中還帶有另外一個(gè)參數(shù)boardname,用來(lái)把看板名稱傳遞給qBoard.asp頁(yè)面。在多個(gè)參數(shù)間使用“&”來(lái)分隔。這個(gè)參數(shù)不是必須的,傳遞過(guò)去是為了免得在qBorad.asp中再次用boardid來(lái)查詢看板名稱。一般來(lái)說(shuō),能夠少用數(shù)據(jù)庫(kù)操作就應(yīng)當(dāng)盡量的少用,這樣可以提高ASP頁(yè)面的性能。
因?yàn)镽esponse.Write語(yǔ)句使用字符串作為參數(shù)的,所以上面的字符串和變量之間使用的是“&”聯(lián)結(jié)符。最后ASP頁(yè)面解釋的結(jié)果應(yīng)該是像這樣的:< td>< a href=qBoard.asp?boardid=1&boardname=系統(tǒng)板> 系統(tǒng)板 < /a>< td>
response.write "< td>< a href=qAuthor.asp?author="& boardmanager & ">" & boardmanager & "< /a>< /td>"
response.write "< td>" & rs("主題數(shù)") & "< /td>"
response.write "< td>< a href=managerlogin.asp?boardid="& boardid & ">板務(wù)處理< /a>< /td>< /tr>"
在這個(gè)表中,除了可以由鏈接來(lái)顯示看板主題的內(nèi)容,還有一個(gè)斑竹查詢部分和板務(wù)處理部分,斑竹查詢可以是通過(guò)qAuthor.asp來(lái)實(shí)現(xiàn)的,它只是簡(jiǎn)單的從數(shù)據(jù)庫(kù)中取出作者信息,并顯示出來(lái),這兒就不多說(shuō)了。而板務(wù)處理是由managerlogin.asp頁(yè)面來(lái)處理的。這屬于文章審閱模塊,我們后面再說(shuō)。
rs.movenext
loop until rs.eof
%>
通過(guò)一個(gè)do … loop循環(huán),把紀(jì)錄集中所有的信息都顯示了出來(lái)。在這個(gè)表中,除了可以
< /table>
< div align="center">< br>
點(diǎn)擊看板名稱可以得到主題列表,點(diǎn)擊板主名稱可以察看板主信息 < /div>
< /body>
< /html>
< %
set rs=nothing
conn.close
set conn=nothing
%>
下面再來(lái)看看上面提到的qBaord.asp這個(gè)頁(yè)面:
< %
boardid=request("boardid") ‘取出由上個(gè)頁(yè)面?zhèn)鬟f過(guò)來(lái)的看板ID號(hào)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "主題列表"
ReDim param(0) ' 聲明參數(shù)數(shù)組
param(0) = CLng(boardid) ' CLng 不可忽略
Set rs = cmd.Execute( ,param )
%>
< html>
< head>
< title>主題列表< /title>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< /head>
< body bgcolor="#FFFFFF">
< h1 align="center">< %=rs("看板名")%>板主題列表 < /h1>
< table width="80%" border="0" cellspacing="0" cellpadding="0" align="center">
< tr bgcolor="#FFFFCC">
< td width="89%" height="21">主題< /td>
< td width="11%" height="21">文章數(shù)< /td>
< /tr>
< %
do
topicid=rs("id")
topicname=rs("標(biāo)題")
sum=rs("文章數(shù)")
response.write "< tr>< td>< a href=qtopic.asp?topicid=" & topicid & "&boardname=" & boardname & ">" & topicname & "< /a>< /td>"
response.write "< td>" & sum & "< /td>< /tr>"
rs.movenext
loop until rs.eof
%>
< /table>
< /body>
< /html>