Avatar billede TRoXa Novice
04. november 2010 - 18:28 Der er 7 kommentarer og
1 løsning

PHP Multidimensional array til Javascript Array

Hej Eksperter.

Sidder her og klør mig selv i hårbunden og kan ikke helt gennemskue hvordan man skal lave følgende:

Har en tabel i databasen over en menu som ser sådan her ud

id    navn      level      ejer
----------------------------------
1    Mand          0          0
2    Kvinde        0          0
3    Arm          1          2
4    Ben          1          2
5    Hånd          2          3
6    Hoved        1          1
7    Øje          2          6

Problemet er så følgende:

skal have smidt det ind i nogle select boxe alt efter hvad man vælger

3 bokse

Boks 1 (Valg mand eller kvinde)
Boks 2 (Valg af nærmest kropsdele -> arm, ben, hoved)
Boks 3 (Valg alt efter kvinde eller mand -> Hånd , øje)

Så trykker jeg på Mand skal boks 2 vise Hoved og trykker jeg på hoved skal boks 3 vise Øje

Trykker jeg på Kvinde i første boks skal boks 2 vise Arm og Ben og så skal boks 3 vise Hånd hvis arm er valg i boks 2 osv osv.

Det kan være min tabel i databasen er sat dumt op i forhold til hvordan jeg vil have det til at fungere, og så er jeg selvfølgelig også med på at lave det om.

Håber at nogen kan lave et eksempel ud fra min overstående forklaring.

Et link til noget der vil hjælpe mig er helt okay hvis jeg kan finde rundt i det :P men et direkte eksempel ville være at foretrække.
Avatar billede TRoXa Novice
04. november 2010 - 18:29 #1
lige en ekstra kommentar: Det skal være dynamisk. Tabellen har langt flere rækker end det jeg har skrevet oppe over. Det var bare så der var noget at arbejde ud fra :)
Avatar billede Springform Nybegynder
04. november 2010 - 18:50 #2
Du skal ud og lege med lidt ajax, så kan du arbejde med serverside, clientside. Altså hente dine kasse on the fly

Jeg er ikke lige ved min egen computer så du får bare lige et link der kan hjælpe dig i rigtige retning
http://www.w3schools.com/ajax/ajax_example.asp
Avatar billede TRoXa Novice
04. november 2010 - 18:58 #3
Det kunne godt lyde meget rigtigt :) for der skal ikke være nogen reload af siden når man vælger de select bokse da der vil være utallige input bokse også som skal udfyldes med tekst :) Kan dog ikke lige se sammenligningen med den side og så hvad jeg har brug for, men kan godt se, at ajax måske kunne være et godt værktøj at bruge :)
Avatar billede Springform Nybegynder
04. november 2010 - 19:06 #4
Ja det er ikke det sammen, men det som linket skal vise er hvordan du henter henter data fra din php fil ved hjælp af af ajax. Når du har det på plads kan du tilpasse det efter dine behov.

Så laver du en onchange på din dropdown box der så kalder din ajax function der laver en forespørgsel til din database og udfylder næste dropdown. Det var ihvertfald den vej igennem jeg lavede min løsning dengang ;)
Avatar billede webweaver Praktikant
04. november 2010 - 20:23 #5
Det kunne evt. også laves med Javascript, hvis du ikke vil over i Ajax. Du henter alle data ud fra databasen og så bruger du JavaScript til at vælge hvilke selects der skal vises, udfra hvad der vælges i andre. Så undgår du også reloads.

function selectChange(e) {                   
               
if (e.value == 'over2') { Hvis denne option vælges,

document.getElementById('hideThis').style.display = 'none'; skjules denne select...
                       
} else {
                   
document.getElementById('hideThis').style.display = 'block'; Og vises igen, hvis anden option vælges.
                               
}
               
}

Den select som skjuler en anden,
<select size="1" name="etEllerAndet" onChange="selectChange(this);">

og option i den select som skjuler den anden
<option value="over2">Arme</option>

Denne select skjules,
<select size="1" id="hideThis" name="something">


Den skal selvfølgelig så udbygges sådan, at ved at vælge et punkt i en select, skjules en og vises en anden og så videre.. Men det er samme princip som postet her, så er det bare at bytte op på if sætningen og så videre...
Avatar billede olsensweb.dk Ekspert
04. november 2010 - 20:25 #6
Avatar billede TRoXa Novice
05. november 2010 - 22:00 #7
Ronols: Det var lige præcis det jeg søgte :D Tusind tak :) smid svar og du får point.

Tak til jer andre også for jeres input, men søgte noget mere konkret der kunne hjælpe mig, og det du kom med Ronols har ikke kun fixet det her problem men også en del andre problemer jeg har haft. Ajax er min nye ven :D troede det krævede en speciel server for at kunne bruge Ajax :)
Avatar billede olsensweb.dk Ekspert
06. november 2010 - 00:51 #8
svar
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

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