Avatar billede denz Nybegynder
01. december 2005 - 19:23 Der er 11 kommentarer og
1 løsning

Menu med kategori

Hey står med et lille problem, skal have lavet mig en menu med kategori, det skal altsammen hentes fra Databasen som er acces...

Jeg har lavet en tabel der hedder kategori, og en tabel der hedder menu, dem har jeg så relateret sammen så så " menu " har et felt der hedder kid, den har det samme id som kategoris id... vil gerne have så det bliver skrevet ud ca sådan her... (ikke med-------- self)


Katefori 1
-------------
menulink 1
menulink 2
menulink 3
-------------
Katefori 2
-------------
menulink 1
menulink 2
menulink 3


osv...

det er vel noget med at man skal lave en relatering i sql strengen... og nogle loops inde i hinnanden.. men kan bare ikke lige helt se  hvordan det skal hænge sammen.. har prøvet lidt af hver.. men plz hjælp mig.. det kunne være cool... 200 point til den der løser det!
Avatar billede denz Nybegynder
01. december 2005 - 19:24 #1
Stavefejl!! mener self kategori :D
Avatar billede eagleeye Praktikant
01. december 2005 - 19:34 #2
Hvis du vil havde hele memuen udskrevet på en gang kan du prøve at kigge på dette eksempel som er en rekrusiv funktion som kan lave en menu struktur.

http://www.html.dk/scripts/asp/00015/
Avatar billede denz Nybegynder
01. december 2005 - 19:51 #3
Ja skal have det hele udskrevet på samme tid.. men det eksemple der.. kan jeg ikke rigtig se logiken i.. det skal jo være sådan at man kan tilføje nye kategori.. og tilføje menupunkter det kan man jo ikke i det eksempel da man selv bestemmer RID.. eller hva.. eller er det bare mig der ikke har kigge ordenligt!
Avatar billede eagleeye Praktikant
01. december 2005 - 19:57 #4
En kategori skal have RID=0 og et menupunkt skal havde RID = ID på den kategori den høre til. Så der kan altid tilføjes nye kategorier og menupunkter.

Grunden til funktionen kaldes med 0 som parameter er fordi man kan vælge hvilke level den skal udskrive fra og det betyder bare den medtager alt.
Avatar billede eagleeye Praktikant
01. december 2005 - 20:06 #5
Men den kræver noget tilpasning så menulinks bliver til links og kategorien er sikkert en overskirt og ikke et link, men det er da muligt at lave.
Avatar billede eagleeye Praktikant
01. december 2005 - 20:37 #6
Når du har det i to tabeller så kan du lave det sådan her i stedet for:

SQL = "select kategori.*, menu.* from kategori left join menu on kategori.id = menu.kid order by kategori.id, menu.id"
Set rs = Conn.Execute(SQL)

knavn=""
do while not rs.EOF
  if knavn <> rs("kategorinavn") then
    response.write rs("kategorinavn")
    knavn = rs("kategorinavn") & "<br>"
  end if
  response.write "<a href=""" & rs("menulink") & """>" & rs("menunavn") & "</a><br>"

  rs.Movenext
loop
Avatar billede eagleeye Praktikant
01. december 2005 - 20:38 #7
kolonnenavne skal lige rettes til så de passer med dine tabeller.
Avatar billede eagleeye Praktikant
01. december 2005 - 20:44 #8
Til koden i min kommentar 01/12-2005 20:37:42 der skal disse to linier:
    response.write rs("kategorinavn")
    knavn = rs("kategorinavn") & "<br>"

rette til:
    response.write rs("kategorinavn") & "<br>"
    knavn = rs("kategorinavn")
Avatar billede denz Nybegynder
01. december 2005 - 21:07 #9
Det virker nogenlunde.. det vil sige den vil ikke skrive mere end et link ud under kategori....
Avatar billede eagleeye Praktikant
01. december 2005 - 21:16 #10
Nej den skulle skrive alle menulinks til en kategori under kategorien, den skriver måske noget andet?
Avatar billede denz Nybegynder
01. december 2005 - 21:18 #11
Lige meget det var bare mig der kludrede i det.. :D havde lige glemt at skrive hvor linket skulle hen.. :D hehe du for de 200 points... mange tak for hjælpen!
Avatar billede eagleeye Praktikant
01. december 2005 - 21:23 #12
ok så er der et svar her :)
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