zelfde waarde binnen foreach
Ik zit met een script waarmee een korting toegevoegd kan worden aan de database. Per korting zijn er meerdere producten die daar aan gekoppeld zijn. Nou kun je bij een staffelkorting ook een aantal opgeven.
Alleen die waarde wordt dus niet meegezonden.
Dit is het script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
foreach($_POST['product'] AS $key => $value){
print_r($_POST['aantal']);
$query_koppel = "
INSERT INTO
kortingen_koppel
VALUES (
'',
'".$laatsteid."',
'".$value."',
'".$_POST['aantal'][1]."'
)";
$result_koppel = mysql_query($query_koppel);
if(!$result_koppel){
$error= "Er is iets mis gegaan bij het toevoegen.".$query_koppel;
}
else{
$error = "De korting is succesvol toegevoegt.".$query_koppel;
}
}
$content .= $error;
print_r($_POST['aantal']);
$query_koppel = "
INSERT INTO
kortingen_koppel
VALUES (
'',
'".$laatsteid."',
'".$value."',
'".$_POST['aantal'][1]."'
)";
$result_koppel = mysql_query($query_koppel);
if(!$result_koppel){
$error= "Er is iets mis gegaan bij het toevoegen.".$query_koppel;
}
else{
$error = "De korting is succesvol toegevoegt.".$query_koppel;
}
}
$content .= $error;
Het script zou dus per product het aantal in de database moeten stoppen, maar gebeurd dus niet.
De print_r toont het volgende:
Hoe je het ook wendt of keert, print_r($_POST['aantal']) zal altijd het hele array printen. Jij zoekt waarschijnlijk naar $_POST['aantal'][$key]
Als ik dat doe dan pakt ie alleen de laatste waarde. Die gooit ie in het eerste resultaat en vervolgens maakt ie er bij iedere rij niets van (leeg).
Jurgen B schreef op 14.06.2009 19:01:
SanThe heeft het dan ook over $_POST['aantal'][$key]. Dus dezelfde key als in de $_POST['product'] array...Nee de $_POST['aantal'][$value] werkt ook niet.
Helder. Super, bedankt.