Avatar billede fredd Nybegynder
20. februar 2005 - 16:20 Der er 4 kommentarer og
1 løsning

Databasebaseret punktopstilling

Jeg er igang med at lave et lille simpelt CMS-system. Dog har jeg nogle problemer med at få det til at blive så fleksibelt som jeg gerne vil have det.

Eksempelvis har jeg flg. tabel:

id | title  | ref
----------------
1  | Fisk  | 0
2  | Træer  | 0
3  | Sild  | 1
4  | Torsk  | 1
5  | Små    | 3
6  | Store  | 3
7  | Eg    | 2
8  | Ask    | 2
9  | Elm    | 2
10 | Store  | 9
11 | Fældes | 10

"Ref" refererer til punktets "parent" - f.eks. hører "Sild" under "Fisk". Er ref=0 er det et hovedmenu-punkt.

Det skal nu skrives ud som en punktopstilling:

- Fisk
- - Sild
- - - Små
- - - Store
- - Torsk
- Træer
- - Eg
- - Ask
- - Elm
- - - Store
- - - - Fældes

Hvordan vil ASP-koden komme til at se ud, hvis jeg ikke ved hvor mange underpunkter der kommer?
Avatar billede eagleeye Praktikant
20. februar 2005 - 17:02 #1
Prøv at tage et kik på denne funktion som kan udskrive i stil med det du ønsker samt det er ens database opbygning:

http://www.html.dk/scripts/asp/00015/
Avatar billede fredd Nybegynder
20. februar 2005 - 20:12 #2
Tusind tak for linket - det var netop dette jeg havde brug for! Kan dog se, at jeg glemte noget i spørgsmålet: Hvordan får jeg den til at skrive:

Du er her: Forside > Træer > Elm > Store > Fældes

Når jeg eksempelvis er på side.asp?id=11 ?

Du er garanteret dine 60 point, eagleeye, og til dem der kan svare på mit nye under-spørgsmål er der 60 point til.
Avatar billede eagleeye Praktikant
20. februar 2005 - 21:59 #3
Du kan tilføje en function som denne:

function breadcrumb(id)
  dim x
  for x= 1 to ubound(arrID)
    if int(id) = int(arrID(x)) then
      if int(arrRE(x))=0 then
        breadcrumb = "Du er her: " & arrSU(x) & breadcrumb
      else
        breadcrumb = breadcrumb & breadcrumb(arrRE(x)) & " > " & arrSU(x)
      end if           
    end if
  next
end function


Og kalde den med id'et:  response.write breadcrumb(11)
Avatar billede razser Nybegynder
22. februar 2005 - 11:33 #4
Hej eagleeye, jeg arbejder lidt med de samme ting, og vil høre om du kan hjælpe mig med dette:

Jeg har sat link på de forskellige led i breadcrumb-linien, men vil gerne undgå at det sidste led er et link, da det jo er den side man står på. Kan man på en eller anden måde lægge en tæller ind, der tæller niveauerne, og som tager højde for det sidste led?

I så fald du kan hjælpe, vil jeg oprette et nyt spørgsmål til 60 points.
Avatar billede fredd Nybegynder
22. februar 2005 - 12:05 #5
Tak, eagleeye - virker fint :-)
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