Avatar billede askeb Nybegynder
09. januar 2005 - 03:06 Der er 2 kommentarer og
2 løsninger

Gruppering af menu

Hej igen eksperter;

Et lille spørgsmål:
Jeg har en database med sider jeg gerne vil lave en slags træ menu over.

Jeg har altså en database der ser sådan ud:
ID | Navn | AttachID | ...
1    Side1  0
2    Side2  0
3    Side3  1

Nu skal outputtet gerne se sådan ud:
Side1
Side3
Side2

Hvurdan laver jeg det udtræk?
Avatar billede fgsupermand Nybegynder
09. januar 2005 - 13:04 #1
Jeg går ud fra at du ikke skal have id med i udtrækket og at din database tabel hedder dbtabel

SELECT Navn FROM dbtabel ORDER BY AttachID DESC
Avatar billede askeb Nybegynder
09. januar 2005 - 15:09 #2
nej den går da ikke...

Så ville du få:
Side3
Side1
Side2

Det er ikke så simpelt igen...
Forestil dig en træmenu. Du har 2 overemner, Side1 og Side2, og et underemne, Side3, der hører under side1 (attachID = 1).
Du skal nu ha et udtræk der først tage dem med 1 som id, så dem med 1 attachID, så dem med 2 som id...osvosvosv...
Avatar billede fgsupermand Nybegynder
09. januar 2005 - 15:19 #3
ohh, jeg havde misforstået hvad du brugte AttachID til.

Så tror jeg ikke det kan laves med sql, du skal have gang i noget server programmering (sådan har jeg i hvert fald lavet det før)

Den nemmeste måde er nok at lave et objekt for hvert menupunkt som har en samling af underpunkter

brug denne sql til at hente fra db:
SELECT Navn FROM dbtabel ORDER BY AttachID

og læg objekterne i en midlertidig samling, denne samling kan du løbe igennem og lave referencer mellem parent/child menupunkter.
munupunkt objektet skal så have en udskriv metode, der udskriver sig selv og alle dens  child menupunkter.
Avatar billede askeb Nybegynder
09. januar 2005 - 15:28 #4
Ja ok. Men du bliver nok lige nød til at forklare det lidt nøjere.
Vil du lave et array hvor de bliver gemt hvor jeg så kan kalde dem, eller hvordan vil du lave samlingen?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester