使用ASP實現網站的分類樹
本來想多翻譯些東西出來的,但是最近越來越忙了,以後我盡量多貼些
短小的代碼出來,翻譯是越來越沒空完成了。呵呵。
資料庫結構(共使用了兩個表)
1。tblCategory
欄位名 類型
Root binary 說明樹關或開(目錄的根)
ID 自動編號 關鍵字
Sort integer 識別該欄位內容的整數(如果root是開狀態sort為0)表示顯示的目錄的順序
Name text(255)可以包含html中的標識符
HREF text(255) 允許空
2。tblPages
ID 自動編號
Sort integer 關鍵字
Name text(255)
HREF text(255)
3.default.htm
<html>
<head>
<title>JavaScript Tree Control Template</title>
</head>
<frameset cols=""210,*"">
?<frame src=""tree.asp"" name=""TOC"">
?<frame src=""main.htm"" name=""basefrm"">
</frameset>
</html>
4.main.htm
<head><title></title></head>
<body>
<h2>Start Page</h2>
</body>
</html>
5.tree.asp
Set conn = Server.CreateObject(""ADODB.Connection"")
Set Rs = Server.CreateObject(""ADODB.Recordset"")
conn.open ""DRIVER=Microsoft Access Driver (*.mdb);DBQ="" & Server.MapPath(""toc.mdb"")
strsql = ""SELECT tblCategory.Root, tblCategory.[ID], tblCategory.Sort AS CatSort, tblPages.sort AS LinkSort, tblCategory.[Name] AS CatName, tblCategory.HREF AS CatURL, tblPages.[Name] AS LinkName, tblPages.href AS LinkURL FROM tblCategory LEFT JOIN tblPages ON tblCategory.[ID] = tblPages.[ID] ORDER BY tblCategory.root ASC, tblCategory.Sort, tblPages.sort""
rs.open strsql, conn, 2, 2
if not rs.eof then rs.movefirst
currentID = """" %>
<html>
<head>
<link rel=""stylesheet"" href=""ftie4style.css"">
<!-- Infrastructure code for the tree -->
<script src=""ftiens4.js""></script>
<!-- Execution of the code that actually builds the specific tree -->
<script>
USETEXTLINKS = 1
<%
Do While Not Rs.EOF
If Rs(""Root"") = True Then %>
foldersTree = gFld(""<%= Rs(""CatName"") %>"", ""<%= Rs(""CatURL"") %>"")
<% Else %>
aux1 = insFld(foldersTree, gFld(""<%= Rs(""CatName"") %>"", ""<%= Rs(""CatURL"") %>""))
<% currentID = Rs(""ID"")
savedID = Rs(""ID"")
Do While currentID = savedID and not rs.eof
if Rs(""LinkName"") <> """" Then %>
insDoc(aux1, gLnk(0, ""<%= Rs(""LinkName"") %>"", ""<%= Rs(""LinkURL"") %>""))
<%
end if
Rs.MoveNext
if not rs.eof then currentID = Rs(""ID"")
Loop
End If
if currentID = """" then rs.movenext
Loop %>
</script>
<script>
initializeDocument()
</script>
<base target=""basefrm"">
<title></title>
</head>
<body bgcolor=""white"">
</body>
</html>