Goed doorsturen post
Ik ben bezig met een script om in een webwinkel gerechten te bestellen. Er moet in de database een aantal ingredienten gereserveerd worden. Alleen mijn probleem is nog: Als ik meerdere gerechten bestel moet ik ook meerdere ingrediënten afschrijven. Hoe is mij alleen een raadsel. Dit zijn de stukjes code:
De invoer/post:
Code (php)
De vardump hiervan is:
array(4) { ["gerechtnr_1"]=> string(1) "2" ["aantal_1"]=> string(1) "2" ["gerechtnr_2"]=> string(1) "3" ["aantal_2"]=> string(1) "3" }
De huidige query is:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php foreach($ingr as $ingredienten){
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad + $hoeve[$ii]
WHERE ingredientnaam = '$ingr[$ii]'";
mysql_query($sql);
}?>
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad + $hoeve[$ii]
WHERE ingredientnaam = '$ingr[$ii]'";
mysql_query($sql);
}?>
Het toevoegen zelf lukt prima, maar het idee is dat ik nu de hoeveelheid ($hoeve) van elk ingrediënt keer het aantal dat het gerecht waar het ingredient inzit is besteld. Hoe kan ik dit voor elkaar krijgen?
Toevoeging op 15/11/2010 11:51:03:
Een nieuw probleem. De aantallen heb ik er inmiddels in. Alleen stuur ik ze zoals hierboven staat gesplitst door (zie de vardump).. Nu doe ik het zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$postedAantal = "aantal_".$i;?>
...
<?php
$ii=0;
foreach($ingr as $ingredienten){
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad + $hoeve[$ii]*$postaantal
WHERE ingredientnaam = '$ingr[$ii]'";
mysql_query($sql);
$count= count($ingr);
if($ii<=$count){
$ii++;
}
}?>
$postedAantal = "aantal_".$i;?>
...
<?php
$ii=0;
foreach($ingr as $ingredienten){
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad + $hoeve[$ii]*$postaantal
WHERE ingredientnaam = '$ingr[$ii]'";
mysql_query($sql);
$count= count($ingr);
if($ii<=$count){
$ii++;
}
}?>
De $i is een optelling om de gerechten gesplitst te houden.. Vanuit de post komt dus $i=2 door (2 gerechten). Hier wordt dus het aantal van het 2e gerecht alleen genomen. Hoe krijg ik het aantal van het 1e gerecht er nu wel bij?
Gewijzigd op 15/11/2010 10:54:20 door Sander Koerkamp
[Solved]Topic mag dicht...
vertel dan ook even hoe je het opgelost hebt voor de anderen met het zelfde probleem
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php $ii=0;
$aantal=$_POST['aantal'];
foreach($ingr as $ingredienten){
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad +(".$hoeve[$ii]." * ".$aantal.")
WHERE ingredientnaam = '".$ingr[$ii]."'";
mysql_query($sql);
$ii++;
}?>
$aantal=$_POST['aantal'];
foreach($ingr as $ingredienten){
$sql="UPDATE ingredienten
SET res_voorraad = res_voorraad +(".$hoeve[$ii]." * ".$aantal.")
WHERE ingredientnaam = '".$ingr[$ii]."'";
mysql_query($sql);
$ii++;
}?>
vergeet geen fout afhandelingen!