Du kan måske få noget ud af denne funktion, som jeg bruger til navigation:
function MakeNavigation(FunkID) dim FunkORS, returVal returVal = "" set FunkORS = oConn.execute("select id, linktext, pid from WebWebpages where id="& FunkID) if not FunkORS.eof then if FunkORS("pid")&"" <> "" then returVal = MakeNavigation(FunkORS("pid")) & " >> "& "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("linktext") &"</a>" else returVal = "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("linktext") &"</a>" end if end if MakeNavigation = returVal end function
Response.write "Du er her: "& MakeNavigation(PageID)
Så burde du kun skulle ændre "linktext" til "navn" og "WebWebpages" til "sider". Så skal du bare kalde funktion med den side du er på ID.
function MakeNavigation(FunkID) dim FunkORS, returVal returVal = "" set FunkORS = oConn.execute("select id, navn, pid from sider where id="& FunkID) if not FunkORS.eof then if FunkORS("pid")&"" <> "" then returVal = MakeNavigation(FunkORS("pid")) & " >> "& "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("navn") &"</a>" else returVal = "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("navn") &"</a>" end if end if MakeNavigation = returVal end function
Response.write "Du er her: "& MakeNavigation(PageID)
function siteMap(funkPID, funkLevel) dim FunkORS set FunkORS = oConn.execute("select * from sider where pID="& funkPID &" order by sorter") do while not FunkORS.eof response.write funkLevel& FunkORS("name") &"<br>" call siteMap(FunkORS("id"), funkLevel&" ") FunkORS.MoveNext loop end function
call siteMap(0, "")
Du vil evt også have en "where aktiv=etEllerAndet" på selecten. Det eneste andet begge funktioner kræver er en forbindelse til databasen:
Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "enDatabaseForbindelse" ... ...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <html> <head> <title>Untitled</title> </head> <body> <% Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "enDatabaseForbindelse" pageID = request.querystring("id") '<-- Denne skal svare til sidens id (bruges på navigatoren)
function MakeNavigation(FunkID) dim FunkORS, returVal returVal = "" set FunkORS = oConn.execute("select id, navn, pid from sider where id="& FunkID) if not FunkORS.eof then if FunkORS("pid")&"" <> "" then returVal = MakeNavigation(FunkORS("pid")) & " >> "& "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("navn") &"</a>" else returVal = "<a href=""default.asp?id="& FunkORS("id") &""">"& FunkORS("navn") &"</a>" end if end if MakeNavigation = returVal end function function siteMap(funkPID, funkLevel) dim FunkORS set FunkORS = oConn.execute("select * from sider where pID="& funkPID &" order by sorter") do while not FunkORS.eof response.write funkLevel& FunkORS("name") &"<br>" call siteMap(FunkORS("id"), funkLevel&" ") FunkORS.MoveNext loop end function
'Lav Navigator Response.write "Du er her: "& MakeNavigation(pageID)
'Lav Sitemap call siteMap(0, "") '<-- skal være 0 da det svarer til topsider %> </body> </html>
Ellers kan jeg lave det 100% rigtigt og test hvis jeg kan få din database...
Jeg har lavet dette ud fra databasen. Du skal bare smide det i en fil, som hedder test.asp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <html> <head> <title>Untitled</title> </head> <body> <% strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db/data.mdb") Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open strDB pageID = request.querystring("id") '<-- Denne skal svare til sidens id (bruges på navigatoren) if pageID = "" then pageID=1
function MakeNavigation(FunkID) dim FunkORS, returVal returVal = "" set FunkORS = oConn.execute("select id, menu, sub from page where id="& FunkID) if not FunkORS.eof then if FunkORS("sub")&"" <> "0" then returVal = MakeNavigation(FunkORS("sub")) & " >> "& "<a href=""test.asp?id="& FunkORS("id") &""">"& FunkORS("menu") &"</a>" else returVal = "<a href=""test.asp?id="& FunkORS("id") &""">"& FunkORS("menu") &"</a>" end if end if MakeNavigation = returVal end function
function siteMap(funkPID, funkLevel) dim FunkORS set FunkORS = oConn.execute("select * from page where sub="& funkPID &" order by [order]") do while not FunkORS.eof response.write funkLevel& "- <a href=""test.asp?id="& FunkORS("id") &""">"& FunkORS("menu") &"</a><br>" call siteMap(FunkORS("id"), funkLevel&" ") FunkORS.MoveNext loop end function
'Lav Navigator Response.write "Du er her: "& MakeNavigation(pageID) &"<br><br>"
'Lav Sitemap call siteMap(0, "") '<-- skal være 0 da det svarer til topsider %> </body> </html>
Hvordan få jeg skrevet de respektive undersider ud på min side? Lige nu udskriver den bare hovedsiderne, men den skal også udskrive undersider, hvis der er nogle... Hvordan får man den til det?
pageID = request.querystring("id") if pageID = "" then pageID=1 '... 'Find undersider. set rs = oConn.execute("select * from page where sub="& pageID) do while not rs.eof response.write " "& rs("menu") &"<br>" rs.MoveNext loop
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.