数据库结构(共使用了两个表)
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>