vel...jeg tenkte på muligheten til å lage en litt annerledes... for der bli det veldig mye åpning og lukking av databasen...
men går det ikke hvis jeg legger alt i en streng, splitter å legger det mange arrays? er det ikke mulig å lage menyen da...det ville vært mye bedre for siden i og med at det går raskere...
Du kalder kun databasen for hvert niveau der er i databasen. Med den liste du har vist, giver det 4 opslag. I nogle af de store menuer jeg har lavet på dene måde har jeg 20 opslag, og det kan ikke mærkes, men det afhænger jo af maskinen og hvilken database man kører.
Det kan sikkert gøres med et database opslag (evt. gemt overført til et array), som man så løber igennem igen og igen, men det giver andre problemer, da du så skal hoppe frem og tilbage i opslagene, eller løbe tabellen igennem igen og igen. Det kan pludselig blive til mange gennemløb, også har du et nyt performance problem :o)
dim menuArr, f set rs = conn.execute("select count(id) from tblMenu") redim menuArr(rs(0),2) set rs = conn.execute("select * from tblMenu") f = 0 do while not rs.eof menuArr(f,0) = rs("id") menuArr(f,1) = rs("navn") menuArr(f,2) = rs("parentID") f = f + 1 rs.MoveNext loop
function MakeMenu(ParentID, level) 'ParentID = siger sig selv 'level = det der skal indrykkes. Kan også være billeder eller streger (-) i stedet for dim FunkF FunkF = 0 for 0 to ubound(menuArr) if menuArr(FunkF,2) = ParentID then response.write level & menuArr(FunkF,1) Call MakeMenu(menuArr(FunkF,0), level & " ") end if FunkF = FunkF + 1 next end function
'Start funktionen så der laves en menu Call mageMenu(0,"")
Da jeg som sagt er på ferie i øjeblikket, har jeg ikke haft mulighed for at testte om det virker. Så jeg håber du kan forstå hvad det er jeg vil med koden, hvis der er fejl :o)
med getrows...mye raskere enn opprette tilkobling til databasen hele tiden...fungerte bra...
Ellers takk
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.