---
title: "Oändligt antal underkategorier"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/66167-oändligt-antal-underkategorier"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "pirajan"
published: "2003-01-26T10:22:13.000Z"
updated: "2004-11-03T16:05:42.000Z"
replies: 31
views: 1618
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/66167-oändligt-antal-underkategorier"
---

# Oändligt antal underkategorier

_Sida 1 av 2._

## #1 — pirajan, 2003-01-26T10:22Z

Hej!
Jag har tidigare skrivit en tråd för detta och frågat, men inte fått något tillräckligt beskrivande svar. 

Jag har en tabell
tblArtiklarKategorier
fält: id, idTop, idSub, Namn

Där idSub visar vilken kategori den tillhör. idTop är id:t på översta kategorin.

Jag undrar alltså hur aka jag göra för att visa det hela som en trädmeny med oändligt med underkategorier?

Permalänk: https://www.webforum.nu/p/66167

## #2 — trexter, 2003-01-26T10:39Z

Skulle man kunna då se den tråden?

 :)

Permalänk: https://www.webforum.nu/p/927449

## #3 — pirajan, 2003-01-26T10:44Z

<http://www.webforum.nu/showthread.php?s=&threadid=45540>

Permalänk: https://www.webforum.nu/p/927454

## #4 — pirajan, 2003-01-26T10:47Z

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("&nbsp;&nbsp;")
    response.Write(show(rs("id")))
	    response.write("<br>")
  rs.moveNext
  Loop
End Function
%>

<%=show(0)%>
```

Permalänk: https://www.webforum.nu/p/927456

## #5 — Jesper T, 2003-01-26T10:58Z

Här kanske du hittar det du söker:
<http://www.webforum.nu/showthread.php?s=&threadid=50488&highlight=tr%E4dstruktur>

Permalänk: https://www.webforum.nu/p/927463

## #6 — pirajan, 2003-01-26T11:26Z

Kanske det kanske.. :) Ska testa

Permalänk: https://www.webforum.nu/p/927489

## #7 — Erik Juhlin, 2003-01-26T11:39Z

Skippa topp-id:t. Men kan få ut rotens id med hjälp av att kolla vilken som har null som parent-id.

Permalänk: https://www.webforum.nu/p/927496

## #8 — pirajan, 2003-01-26T11:46Z

Just det ja! Tack! 

Men jag får fortfarande bara fram en trädstruktur, med min egna funktion, där djupet bara är 2 alltså den visar bara
Ex:
ASP
&nbsp;&nbsp;  Script
&nbsp;&nbsp;  Gästböcker
&nbsp;&nbsp;  Forum

Jag använder mig alltså av min egna funktion längre upp i tråden...

Permalänk: https://www.webforum.nu/p/927499

## #9 — pirajan, 2003-01-26T12:22Z

plz need some help!

Permalänk: https://www.webforum.nu/p/927530

## #10 — pirajan, 2003-01-26T13:12Z

Är det ingen som kan hjälpa mig?

Permalänk: https://www.webforum.nu/p/927567

## #11 — pirajan, 2003-01-26T14:51Z

Ni har tydligen gett upp eller? Snyft ;(

Permalänk: https://www.webforum.nu/p/927622

## #12 — Jesper T, 2003-01-26T15:27Z

Vad är det du vill göra? Du kanske kan beskriva lite mer?

Permalänk: https://www.webforum.nu/p/927641

## #13 — pirajan, 2003-01-26T15:34Z

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!

Permalänk: https://www.webforum.nu/p/927647

## #14 — solbulle, 2003-01-26T18:33Z

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å?

Permalänk: https://www.webforum.nu/p/927759

## #15 — Jesper T, 2003-01-26T19:19Z

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.

BTW:Grattis Solbulle!

Permalänk: https://www.webforum.nu/p/927796

## #16 — clown, 2003-01-28T00:07Z

Hej,

jag har hittat en annan lösning på problemet med oändligt med underkategorier.

Om man skapar ett text fält och använder det till att lägga in den seriella informationen,
sen skapar man under kategorier och numrerar dem så här:

Jonas : 001
\--Mitt liv                         :001001
\--Minbil                          :001002
\----Bilens motor             :001002001
\----Bilens fälgar             :001002002
\--Min trädgård               :001003
\----Trädgårdens äpplen :001003001
\------Äpplenas skal         :001003001001
\--------Skalens färg         :001003001001001

För att sedan få ut en sorterad lista på alla underkategorier skrivar man bara ett enda SQL sträng:

SELECT \* FROM table ORDER BY serial

så kommer dem i rätt ordning.

Detta är bara ett utdrag på hur det fungerar.
För en mera detaljerad beskrivning har jag bifogat en zippad word fil med beskrivande bild och text.

Iden är tagen från Michael V Feranda efter en artikel publiserad på <https://www.1aspstreet.com>

Ett helt annat grep på saken en vanligt, eller hur?

Bilagor:

- [tree.zip](https://www.webforum.nu/a/980.zip)

Permalänk: https://www.webforum.nu/p/928924

## #17 — Engine^, 2003-01-28T07:38Z

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.

Permalänk: https://www.webforum.nu/p/929010

## #18 — Erik Juhlin, 2003-01-28T12:17Z

clown: Med den där metoden är det inte oändligt antal underkategorier...

Permalänk: https://www.webforum.nu/p/929178

## #19 — clown, 2003-01-28T12:42Z

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...

/Jonas

Permalänk: https://www.webforum.nu/p/929210

## #20 — pirajan, 2003-01-28T15:38Z

Tack för inläggen, men hur gör jag det som Engine^
 beskriver med djupet i trädstrukturen?

Permalänk: https://www.webforum.nu/p/932337

---

Tråden på webben: https://www.webforum.nu/amne/asp/66167-oändligt-antal-underkategorier  
Nästa sida: https://www.webforum.nu/amne/asp/66167-oändligt-antal-underkategorier/page2.md
