/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Opbygning af menuer
Fra : Jesper Nielsen


Dato : 23-02-03 21:19

Hej gruppe

Jeg er ved at lave et mindre CMS system, og skal i den forbindelse have
opbygget en tabeldefinition til de menuer, som skal være på siden.

Menuen skal minde om den der er at til venstre på
http://www.nordea.dk/sitemod/index_001.asp?pid=22971&strcorecontentarea=56 -
prøv evt. at navigere lidt rundt på sitet.

Jeg kan ikke lige gennemskue, hvordan man bedst opbygger en database til
dette formål.
Jeg går ud fra, at jeg skal dele menuopbygningen op i 2 eller flere tabeller
for at opnå det bedste resultat, men er der nogen, som har en idé til
opbygningen?

--
Mvh. Jesper



 
 
Jakob Andersen (23-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-02-03 21:46

"Jesper Nielsen" <jn@nielsenit.dk> wrote
> Jeg kan ikke lige gennemskue, hvordan man bedst
> opbygger en database til dette formål.

Det du reelt set skal have en jo en slags træstruktur hvor du blot skal hive
et niveau ud ad gangen.

Så jeg vil anbefale dig en struktur med et "id","navn" og et "parentid". På
denne måde kan du have uendligt mange niveauer og du vil hurtigt kunne
trække alle menupunkter ud. F.eks. første udtræk af alle de "øverste"
punkter:

SELECT id, navn FROM <tabel> WHERE parentid IS NULL

Når man så trykker sig ind på et af disse punkter(f.eks. med id 10) skal
alle punkter der hører under dette så hives ud med noget ala:

SELECT id, navn FROM <tabel> WHERE parentid = 10;

--
Jakob Andersen



Jesper Nielsen (23-02-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 23-02-03 22:03

> Så jeg vil anbefale dig en struktur med et "id","navn" og et "parentid".

> denne måde kan du have uendligt mange niveauer og du vil hurtigt kunne
> trække alle menupunkter ud.

F.eks. sådan her? Det var jo egentlig meget, logisk, hvis det var

CREATE TABLE dbo.Design_Menu
(
ID int NOT NULL IDENTITY (1, 1),
ParentId int NOT NULL,
MenuTitle varchar(100) NOT NULL,
MenuMouseOverText varchar(500) NULL,
MenuDescription text NULL,
ArticleId int NOT NULL,
Status smallint NOT NULL
) ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]

INSERT INTO Design_Menu
(ParentId, MenuTitle, ArticleId, Status)
VALUES (0, 'Home', 0, 100)

INSERT INTO Design_Menu
(ParentId, MenuTitle, ArticleId, Status)
VALUES (0, 'Produkter', 0, 100)

INSERT INTO Design_Menu
(ParentId, MenuTitle, ArticleId, Status)
VALUES (2, 'Testprodukt 1', 0, 100)

INSERT INTO Design_Menu
(ParentId, MenuTitle, ArticleId, Status)
VALUES (2, 'Testprodukt 2', 0, 100)



Jakob Andersen (23-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-02-03 22:08

"Jesper Nielsen" <jn@nielsenit.dk> wrote
> F.eks. sådan her? Det var jo egentlig meget, logisk, hvis det var
> [SNIP - kode]

Jeps, noget i den stil.

--
Jakob Andersen



Jesper Nielsen (23-02-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 23-02-03 22:08

> Jeps, noget i den stil.

Oki - tak for hjælpen



Henning Cocktail (24-02-2003)
Kommentar
Fra : Henning Cocktail


Dato : 24-02-03 10:56

Jesper Nielsen wrote in dk.edb.internet.webdesign.serverside.asp:
> Jeps, noget i den stil. - Oki - tak for hjælpen
>
Og fænomenet hører ind under begrebet
"Connect by Prior",
som navnlig/skråstreg/blandandet Oracle har en h... masse gode
funktioner til...
Se
http://philip.greenspun.com/sql/trees.html

for et forårslækkert indlæg !!!

De bedste ønsker for nogle vidtforgrenede og blomstrende træer,

Cocktail-Henning
"Ryster træet og blander frugten..."


--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408537
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste