webForumDet fria alternativet

Problem med meny (Access DB)

1 svar · 215 visningar · startad av T Tuffing

T TuffingMedlem sedan mars 20061 inlägg
#1

Jag använder en Access DB och sitter och filar på en meny som jag inte riktigt får till. Problemet är sorteringen som jag vill lösa i SQL-frågan.

Tabellen ser ut såhär;

MENU

MenuId	OwnerId	MenuOrder	MenuText	Link
1	0	3		meny 3		[url]www..[/url].
2	0	2		meny 2		[url]www..[/url].
3	2	1		meny 2.1	[url]www..[/url].
4	1	2		meny 3.2	[url]www..[/url].
5	2	3		meny 2.3	[url]www..[/url].
6	0	1		meny 1		[url]www..[/url].
7	1	1		meny 3.1	[url]www..[/url].
8	2	2		meny 2.2	[url]www..[/url].
9	5	1		meny 2.3.1	[url]www..[/url].

OwnerId hänvisar till MenuId d.v.s. MenuId 9 (meny 2.3.1) skall visas under MenuId 5 (meny2.3) som i sin tur visas under MenuId 2 (meny 2). MenuOrder skall användas för att sortera visningordningen. OwnerId 0 indikerar att det är det handlar om översta nivån i menyhierarkin.

Mitt önskemål är att resultatet skall se ut såhär;

meny 1
meny 2
  meny 2.1
  meny 2.2
  meny 2.3
    meny 2.3.1
meny 3
  meny 3.1
  meny 3.2

SQL-frågan lär ju till en början se ut såhär;

SELECT MenuText, Link FROM MENU
ORDER BY...

Kan jag få lite hjälp med fortsättningen?

TravoniMedlem sedan okt. 20041 556 inlägg
#2

Välkommen till WF!
Du måste nog använda dig av någon form av rekursion. (Om du inte använder en databas som hanterar lite mer avancerade lagrade procedurer) Det gör du lämpligast i din applikation. Script/kod

125 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)