20. oktober 2004 - 11:17Der er
7 kommentarer og 1 løsning
Rekursiv funktion
Hej Eksperter,
Jeg har brug for noget hjælp til at lave en rekursiv funktion.
Jeg har fundet noget kode på html.dk som jeg gik ud fra, og det virker såmænd også fint nok. Problemet er bare at jeg gerne vil have det virke i en tabel i stedet.
<% ' Database forbindelse Set Rs = Server.Createobject("ADODB.Connection") Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("database.mdb")& ";"
' Hent data fra databasen Set rsEntries = Rs.Execute("Select * from madOpskrift")
Do ' Gem data som kommasepareret liste arrID = arrID & "," & rsEntries("ID") arrRE = arrRE & "," & rsEntries("TopLevelPage") arrSU = arrSU & "," & rsEntries("Title") rsEntries.MoveNext Loop while not rsEntries.eof
' Lav arrays med data arrID = Split(arrID,",") arrRE = Split(arrRE,",") arrSU = Split(arrSU,",")
Rs.Close
' Funktion som undersøger for svar Function Threads(intID) For m = 1 to Ubound(arrID) ' Hvis svar til det indlæg som funktionen er kaldt med If Cint(arrRE(m)) = Cint(intID) Then ' Tilføj til liste og kald funktionen for at undersøge for svar ' FirstLine = "<tr><td></td><td height=23>" Threads = Threads & "<ul><li>" & arrSU(m) & Threads(arrID(m)) & "</li></ul>" ' LastLine = Threads & "</td><td>Forside</td><td>Skabelon</td><td>Modul</td><td>Aktiv</td><td>Periode</td><td>Beskyt</td><td>Slet</td></tr>" End If Next End Function
' Kald funktionen med alle hovedindlæg Response.Write Threads(0) %> </table> </body> </html>
Nedenstaaende laver en liste med underside til underside osv...
Pizza Friture Annanas Frugt Gul Groen Kanel Stang Hovedside2 underside underside underside til underside
hvis du kan foelge mig, det jeg gerne vil have er at det kommer som i en tabel! altsaa et nyt <tr><td> for menu... </td></tr> lige nu bruger den jo bare en alm. html liste...
<title>Rekursiv funktion</title> </head> <body>
<% ' Database forbindelse Set Rs = Server.Createobject("ADODB.Connection") Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("database.mdb")& ";"
' Hent data fra databasen Set rsEntries = Rs.Execute("Select * from madOpskrift")
Do ' Gem data som kommasepareret liste arrID = arrID & "," & rsEntries("ID") arrRE = arrRE & "," & rsEntries("TopLevelPage") arrSU = arrSU & "," & rsEntries("Title") rsEntries.MoveNext Loop while not rsEntries.eof
' Lav arrays med data arrID = Split(arrID,",") arrRE = Split(arrRE,",") arrSU = Split(arrSU,",")
Rs.Close
' Funktion som undersøger for svar Function Threads(intID) For m = 1 to Ubound(arrID) ' Hvis svar til det indlæg som funktionen er kaldt med If Cint(arrRE(m)) = Cint(intID) Then ' Tilføj til liste og kald funktionen for at undersøge for svar ' FirstLine = "<tr><td></td><td height=23>" Threads = Threads & "<ul><li>" & arrSU(m) & Threads(arrID(m)) & "</li></ul>" ' LastLine = Threads & "</td><td>Forside</td><td>Skabelon</td><td>Modul</td><td>Aktiv</td><td>Periode</td><td>Beskyt</td><td>Slet</td></tr>" End If Next End Function
' Kald funktionen med alle hovedindlæg Response.Write Threads(0) %>
<% ' Database forbindelse Set Rs = Server.Createobject("ADODB.Connection") Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("database.mdb")& ";"
' Hent data fra databasen Set rsEntries = Rs.Execute("Select * from madOpskrift")
Do ' Gem data som kommasepareret liste arrID = arrID & "," & rsEntries("ID") arrRE = arrRE & "," & rsEntries("TopLevelPage") arrSU = arrSU & "," & rsEntries("Title") rsEntries.MoveNext Loop while not rsEntries.eof
' Lav arrays med data arrID = Split(arrID,",") arrRE = Split(arrRE,",") arrSU = Split(arrSU,",")
Rs.Close
' Funktion som undersøger for svar Function Threads(intID) For m = 1 to Ubound(arrID) ' Hvis svar til det indlæg som funktionen er kaldt med If Cint(arrRE(m)) = Cint(intID) Then ' Tilføj til liste og kald funktionen for at undersøge for svar ' FirstLine = "<tr><td></td><td height=23>" Threads = Threads & "<tr><td>" & arrSU(m) & Threads(arrID(m)) & "</td></tr>" ' LastLine = Threads & "</td><td>Forside</td><td>Skabelon</td><td>Modul</td><td>Aktiv</td><td>Periode</td><td>Beskyt</td><td>Slet</td></tr>" End If Next End Function
' Kald funktionen med alle hovedindlæg Response.Write Threads(0) %>
Nej, det den laver nu, er jo bare at tilføje et ekstra <tr><td> hvergang siden er en underside... ikke det jeg ønsker. Ønsker mig en tabel hvor den laver en ny række med en ekstra kolonne på 10px width for hver gang den "dykker" i niveau...
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.