Avatar billede rasmuslh Nybegynder
19. juni 2004 - 12:21 Der er 11 kommentarer og
1 løsning

Problemer med array

Hejsa

Jeg sidder og bakser med en hjemmeside til mit fodboldhold.

Jeg har lavet en side der sender trupinformation til en php-side med oplysninger om hvem der spillede på hver plads samt om han fik gult, kort, scorede etc.

Det henter jeg ind i et array!

EX:
    $målmand[0] = $_POST['målmand'];
    $målmand[1] = $_POST['mål_mål'];
    $målmand[2] = $_POST['ass_mål'];
    $målmand[3] = $_POST['gul_kort_mål'];
    $målmand[4] = $_POST['rødt_kort_mål'];
    $målmand[5] = $_POST['omk_mål'];

Når jeg har hentet alle spillerne ind vil jeg gerne samle truppen i et to-dimensioneltarray:

Sådan her:
$trup =
array( array($målmand[0], $målmand[1], $målmand[2], $målmand[3], $målmand[4], $målmand[5]),
array($forsvar1[0], $forsvar1[1], $forsvar1[2], $forsvar1[3], $forsvar1[4], $forsvar1[5]),
array($forsvar2[0], $forsvar2[1], $forsvar2[2], $forsvar2[3], $forsvar2[4], $forsvar2[5]),
array($midt1[0], $midt1[1], $midt1[2], $midt1[3], $midt1[4], $midt1[5]),
... etc

jeg vil så samle hele truppen i en insert sætning:

$truppen = "INSERT INTO kamp_spiller VALUES ";
       
    for ($k=0; $k < count($trup); $k++) {
    $truppen .= "($kampnr, $trup[$k][0], $trup[$k][1], $trup[$k][2], $trup[$k][3], $trup[$k][4], $trup[$k][5]), ";
    }

det virkede ikke så jeg prøvede at echo $truppen med Insert-sætningen i:

Det giver følgende resultat:

INSERT INTO kamp_spiller VALUES (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]), (1, Array[0], Array[1], Array[2], Array[3], Array[4], Array[5]),

Den skriver det som om jeg ikke har lavet et todimensionelt array. Jeg er lidt på bar bund er der en der kan hjælpe?

MVH.
Rasmus
Avatar billede cautoo Nybegynder
19. juni 2004 - 12:31 #1
hmm... det mest i øjenfaldene hos mig, er nok dine æ ø og å'er... undgå dem... overalt
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 12:33 #2
Jeg troede egentligt ikke at PHP var følsom overfor æøå
Avatar billede cautoo Nybegynder
19. juni 2004 - 12:36 #3
har altid selv undgået dem... er ikke 100% sikker, derfor er det en kommentar... men ihvertfald er det ikek godt at lave en browser SENDE æ ø å navne, da de hurtigt kan blive lavet om til en % kode ligesom mellemrum er %20
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 12:37 #4
Jo jeg plejer også at gøre det til sidst med en find og erstat.
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 14:16 #5
Nu har jeg løst det! problemet forsvinder hvis man gør sådan her i stedet:

for ($k=0; $k < count($trup); $k++) {
$truppen .= "($kampnr, ".$trup[$k][0].", ".$trup[$k][1].", ".$trup[$k][2].", ".$trup[$k][3].", ".$trup[$k][4].", ".$trup[$k][5]."), ";

Den kan åbenbart ikke oversætte det når det er i " ". Det troede jeg ellers kun var et problem med enkelt ' '??
Avatar billede erikjacobsen Ekspert
19. juni 2004 - 14:26 #6
Alternativt kan du

  $truppen .= "($kampnr, {$trup[$k][0]}, {$trup[$k][1]}, {$trup[$k][2]}, {$trup[$k][3]}, {$trup[$k][4]}, {$trup[$k][5]}), ";
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 15:17 #7
Er det generelt problem med arrays at de ikke kan stå inden i " "?
Avatar billede erikjacobsen Ekspert
19. juni 2004 - 15:29 #8
Uden {.....} omkring kan kun de simpleste konstruktioner tolkes. Man kan gøre
det til en regel altid at skrive dem, også hvor de ikke er nødvendige:

  "({$kampnr}, ...."
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 15:56 #9
Okay - takker. Lægger du et svar så jeg kan lukke tråden?
Avatar billede erikjacobsen Ekspert
19. juni 2004 - 16:06 #10
Nej tak, jeg samler slet ikke på point.
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 16:18 #11
Okay - men hvordan lukker man så en tråd?
Avatar billede rasmuslh Nybegynder
19. juni 2004 - 16:18 #12
Siger jeg og gør det selv! Nå, men tak for hjælpen.
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