Avatar billede bamzen Nybegynder
17. juli 2002 - 10:11 Der er 8 kommentarer og
1 løsning

Problemer med "multidimensionelle arrays", lidt tricky!!!

Hej jeg har en liste af værdier som skal bruges til at generere 4 selectboxe

variablerne er som følger

Segment
Type1
Type2
BrugesTil


Så forestillede jeg mig noget med at jeg skulle bruge noget som (hold godt fast!)

mySelect[mySelect.length][mySelect[mySelect.length].length][mySelect[mySelect.length][mySelect[mySelect.length].length].length] = new minTilfoejFunktion()

Problemet er at mine data stammer fra en åndsvag database hvor der er grænser for hvad jeg kan lave mht beregning af numre i index etc... (lotus notes)

Alternativ skulle jeg bare lave et enkelt array?

Der er ca 2000 poster

kunne jo snildt lave en

myArray = new minTilfoejFunktion("Segment","Type1","Type2","BrugesTil")

og så lave nogel for løkker der bare sprøjter dem derudaf.....

Problemet er der, at ud af de fire select boxe, er der en overordnet, resten skal være baseret på foregående valg dvs

segment

Type1 - lister alle de i segmentet tilhørende type1

Type2 - lister alle de i segmentet/type1 tilhørende type2

BrugesTil lister alle de i segmentet/type1/type2 tilhørende BrugesTil

/Martin
Avatar billede nikolajdu Nybegynder
17. juli 2002 - 10:28 #1
ehe hvorfor udskriver du ikke bare værdierne fra databasen? Er det virkeligt nødvendigt at have dem liggende i arrays også?
Avatar billede bamzen Nybegynder
17. juli 2002 - 10:34 #2
Fordi jeg skal jo efterfølgende bruge dem til at generere select boxes, som netop skal være afhængige af værdierne i den anden....

Og jeg vil ikke loade hele smøren mere end en gang

you see?
Avatar billede nikolajdu Nybegynder
17. juli 2002 - 10:46 #3
Kan du ikke "tegne" et map over hvordan det skal foregå? Jeg er lidt forvirret :))
Avatar billede bamzen Nybegynder
17. juli 2002 - 10:56 #4
Jo da

forestil dig at det jeg kan levere er en spandfulde strenge uden noget index nummer men med fireværder

segment,type1,type2,BrugesTil

Så skal jeg have genereret en struktur der hedder

segment_1/type1_1/type2_1/BrugesTil_1
segment_1/type1_1/type2_1/BrugesTil_2
segment_1/type1_1/type2_1/BrugesTil_3
segment_1/type1_1/type2_2/BrugesTil_1
segment_1/type1_1/type2_2/BrugesTil_2
segment_1/type1_2/type2_1/BrugesTil_1
segment_1/type1_2/type2_1/BrugesTil_2
segment_1/type1_2/type2_1/BrugesTil_3
segment_1/type1_2/type2_2/BrugesTil_1
segment_1/type1_2/type2_2/BrugesTil_2
segment_1/type1_1/type2_1/BrugesTil_1
segment_1/type1_1/type2_1/BrugesTil_2
segment_1/type1_1/type2_1/BrugesTil_3
segment_1/type1_1/type2_2/BrugesTil_1
segment_1/type1_1/type2_2/BrugesTil_2
segment_1/type1_2/type2_1/BrugesTil_1
segment_1/type1_2/type2_1/BrugesTil_2
segment_1/type1_2/type2_1/BrugesTil_3
segment_1/type1_2/type2_2/BrugesTil_1
segment_1/type1_2/type2_2/BrugesTil_2
segment_2/type1_1/type2_1/BrugesTil_1
segment_2/type1_1/type2_1/BrugesTil_2
segment_2/type1_1/type2_1/BrugesTil_3
segment_2/type1_1/type2_2/BrugesTil_1
segment_2/type1_1/type2_2/BrugesTil_2
segment_2/type1_2/type2_1/BrugesTil_1
segment_2/type1_2/type2_1/BrugesTil_2
segment_2/type1_2/type2_1/BrugesTil_3
segment_2/type1_2/type2_2/BrugesTil_1
segment_2/type1_2/type2_2/BrugesTil_2
Avatar billede bamzen Nybegynder
17. juli 2002 - 11:29 #5
Fandt ud af en anden løsning med at loade en htmlside i et lag, og så chekke værdierne i det lag...
Avatar billede bamzen Nybegynder
17. juli 2002 - 11:31 #6
Nikolajdu,

Ville nu gerne have givet dig lidt point for indsatsen, men du har kun kommenteret....

Lukker spørgsmålet igen ;-)
Avatar billede nikolajdu Nybegynder
17. juli 2002 - 11:32 #7
Jeg er slet ikke nået så langt endnu - Loadet i et lag? hvad har du nu fundet på *ss* :))
Avatar billede bamzen Nybegynder
17. juli 2002 - 11:38 #8
Forestil dig du har et lag (Div) hvor du henter en nyt html dokument ind...

dette html dokument du henter i dit lag, indeholder en form

Udenfor laget har du så en funktion der:

1. chekker om form dokumentet i laget er loaded
2. henter værdier derfra
3. sammensætter en søgestreng
4. søgestrengen bruges til at hente et nyt dokument ind i laget (med en ny form)

På den måde kan jeg udskifte kun nøjagtig det kode jeg har behov for at udskifte... Og brugeren oplever ikke at siden skifter

Smart ikke?

Ellers andet??

/Martin
Avatar billede jakoba Nybegynder
17. juli 2002 - 11:46 #9
Hvis der slet ikke er gengangere i undermenyerne KAN det skrives sådan her
  http://www.jakoba.dk/eksperten/exp145224.html
Men det fylder som bare den his der er mange valgmuligheder.

Er der gengangere i dine undermenyer?
dvs er der fx forskellige kombinationer af segment/type1/type2/ der fører frem til samme
    .../BrugesTil_1
    .../BrugesTil_2
menu?

Hvis der er vil jeg anbefale kvadrupler hvor enhver valgmulighed i enhver select-boks gemmes i en arraycelle som  { idNr, værdi, tekst, liste_over_ejere }

var elem = [
              [ 0, "seg0value", "seg0text",
                  [-1]                        // -1 er ROOT i strukturen
              ], //end array elem[0]
              [ 1, "seg1value", "seg1text",
                  [-1]
              ], //end array elem[1]
              [ 2, "seg2value", "seg2text",
                  [-1]
              ], //end array elem[2]        // ialt 3 valgmuligheder i segment-vælgeren

              [ 3, "seg0t0value", "seg0t0text",
                  [0]
              ], //end array elem[3]
              [ 4, "seg0t1value", "seg0t1text",
                  [0]
              ], //end array elem[4]
              [ 5, "seg02t2value", "seg02t2text",
                  [0,2]                        // NB: under både segment valg 0 og segment valg 2
              ], //end array elem[5]        // ialt 3 valgmuligheder i type1 under segment valg 0

              [ 6, "seg1t0value", "seg1t0text",
                  [1]
              ], //end array elem[6]
              [ 7, "seg1t1value", "seg1t1text",
                  [1]
              ], //end array elem[7]        // ialt 2 valgmuligheder i type1 under segment valg 1

              [ 8, "seg2t0value", "seg2t0text",
                  [2]
              ], //end array elem[8]
              [ 9, "seg2t1value", "seg2t1text",
                  [2]
              ], //end array elem[9]      // ialt 3 valgmuligheder i type1 under segment valg 2

// osv, osv...
              [ 999, "brugesNvalue", "brugesNtext",
                  [14,17,18,23,57]            // NB: under mange valg
              ], //end array elem[999]

          ]; //end array elem
             
det fylder potetielt meget mindre, men kræver et lidt mere kompliceret script.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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