Jag har en funktion, men den gör att fet inte blir en riktig trädmeny:
<%
Function show(uid)
strSQL="SELECT * FROM tblArtiklarKategorier WHERE idSub="&uid
Set rs=DB.Execute(strSQL)
Do Until rs.EOF
response.write(rs("Namn"))
response.write("<br>")
response.write(" ")
response.Write(show(rs("id")))
response.write("<br>")
rs.moveNext
Loop
End Function
%>
<%=show(0)%>
Jag vill ha ut datan från tabellen till en trädmeny. Javascript m.m. fixar jag, men just att få det i en trädmeny är för mig en omöjlighet :(...
I tabellen finns bara en massa kategorier.
id är alltså Kategorins id
idSub visar vilken kategori underkategorierna står under.
Namn är kategorins namn i tabellen.
Jag vill få ut resultatet:
ex
Jonas
--Mitt liv
--Minbil
----Bilens motor
----Bilens fälgar
--Min trädgård
----Trädgårdens äpplen
------Äpplenas skal
--------Skalens färg
etc etc.
Kan någon hjälpa mig med det?
Jag använder scriptet ovan i denna tråd.
Tacksam för hjälp!
Om du nu använder den funktion som du visar då kallar du på den först med typ: show(1) och den visar en nivå, hur gör du då sen för att kalla på den för att visa nästa nivå?
Det smidigaste är nog att göra en egen tabell med poster för alla top och subkategorier.
Du kan ju ändå inte lägga in oändligt med kolumner i din befintliga tabell.
Ja, förmodligen ett enkelt sätt att lösa det på. Jag kommer inte på så många andra tekniker än att göra en rekursiv funktion som för varje ny undernivå anropar sig själv med ett värde t.ex intDepth + 1. Det är ett skojigare sätt att lösa på det tycker jag :) Sen är begränsningen på antalet undernivåer mest beroende på hur mycket minne servern har.
Nja...
Okej då, men man kan utöka antalet siffror per nivå till 4 (0001)= 999 under nivåer /per nivå eller fler om det behövs så får man ganska många.
Fördelarna med denna metod är att du inte behöva bygga en rekursiv funktion som bygger upp en sql strän g och skickar in den för varje nivå, vilket tar ganska lång tid.
Här kan du få ut alla underkategorier med 1 sql sträng.
Det är nog det som är den största fördelen med denna lösningen.
Har själv försökt bygga en rekursiv SP (Stored Procedure), men med MS SQL server så kan bara en SP kalla på sig själv 32 gånger, sen är det kört...