[php] verschillende arrays met 1 formulier

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Ik wil graag door middel van een formulier verschillende arrays versturen. Binnen een lus gooi ik elke keer een aantal hidden velden eruit met steeds de nieuwe waarden van een produkt.

code:
1
2
3
4
5
6
7
8
9
10
for($i=1; $i<8; $i++) 
{ 
<input type='hidden' name='produkt[artikel]' value='$artikel'>
<input type='hidden' name='produkt[merk]' value='$merk'>
<input type='hidden' name='produkt[omschrijving]' value='$omschrijving'>
<input type='hidden' name='produkt[maat]' value='$maat'>
<input type='hidden' name='produkt[kleur]' value='$kleur'>
<input type='hidden' name='produkt[aantal]' value='$aantal'>
<input type='hidden' name='produkt[prijsperstuk]' value='$prijsperstuk'>
}

Alleen, met bovenstaande code krijg ik alleen een array waarin het laatste produkt is ingevuld. Ik wil graag dus verschillende arrays terugkrijgen zoals produkt1, produkt2 etc.

iets in de trant van:
code:
1
2
3
$teller = 0;
<input type='hidden' name='produkt$teller[artikel]' value='$artikel'>
$teller++;


Al werkt dit dus helaas niet. Iemand een idee?

Acties:
  • 0 Henk 'm!

Verwijderd

php ziet $teller[artikel] als een geheel en gaat op zoek naar de array teller, maar die bestaat niet

zo moet het wel goed gaan:
PHP:
1
echo "<input type='hidden' name='produkt" . $teller . "[artikel]' value='$artikel'>";

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Wat dacht je van een array in een array ;)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Tja, en dan heb je weer het probleem hoe je dat fatsoenlijk uitleest.

Ik heb 2 tegenvoorstellen. Eerst de eerste:
Maak er gewoon een 2D array van. Veel netter:
code:
1
2
3
4
5
6
7
8
9
10
for($i=1; $i<8; $i++) 
{ 
<input type='hidden' name='produkt[$i][artikel]' value='$artikel'>
<input type='hidden' name='produkt[$i][merk]' value='$merk'>
<input type='hidden' name='produkt[$i][omschrijving]' value='$omschrijving'>
<input type='hidden' name='produkt[$i][maat]' value='$maat'>
<input type='hidden' name='produkt[$i][kleur]' value='$kleur'>
<input type='hidden' name='produkt[$i][aantal]' value='$aantal'>
<input type='hidden' name='produkt[$i][prijsperstuk]' value='$prijsperstuk'>
}


2e voorstel is om niet een array als een record te gaan gebruiken:
code:
1
2
3
4
5
6
7
8
9
10
for($i=1; $i<8; $i++) 
{ 
<input type='hidden' name='artikel[$i]' value='$artikel'>
<input type='hidden' name='merk[$i]' value='$merk'>
<input type='hidden' name='omschrijving[$i]' value='$omschrijving'>
<input type='hidden' name='maat[$i]' value='$maat'>
<input type='hidden' name='kleur[$i]' value='$kleur'>
<input type='hidden' name='aantal[$i]' value='$aantal'>
<input type='hidden' name='prijsperstuk[$i]' value='$prijsperstuk'>
}

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
ripexx schreef op 14 mei 2004 @ 09:57:
Wat dacht je van een array in een array ;)
Mja dat is dus uiteindelijk de bedoeling. Om al die arrays in 1 array 'produkten' te knallen. Ik voeg ze nu na het versturen samen. Ik zie alleen niet hoe ik het hier al kan doen.. :'(

Acties:
  • 0 Henk 'm!

  • Foutlook
  • Registratie: Februari 2001
  • Niet online
Janoz schreef op 14 mei 2004 @ 10:01:
Tja, en dan heb je weer het probleem hoe je dat fatsoenlijk uitleest.

Ik heb 2 tegenvoorstellen. Eerst de eerste:
Maak er gewoon een 2D array van. Veel netter:

(...)
Bedankt, de 2D array werkte! :)
Pagina: 1