Goed doorsturen post

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander Koerkamp

Sander Koerkamp

15/11/2010 10:53:35
Quote Anchor link
Hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php echo "  <td><input type=\"hidden\" name=\"gerechtnr_".$i."\" value=\"".$gerecht[0]."\" />\n"; // wat onzichtbare vars voor het updaten
      echo "      <input type=\"text\" name=\"aantal_".$i."\" value=\"".$gerecht[1]."\" size=\"2\" maxlength=\"2\" /></td>\n";?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
}
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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++;
}
}
?>


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
 
PHP hulp

PHP hulp

11/01/2025 08:03:55
 
B Klaas

B Klaas

15/11/2010 17:18:00
Quote Anchor link
[Solved]Topic mag dicht...
 
Vincent Huisman

Vincent Huisman

15/11/2010 17:36:26
Quote Anchor link
vertel dan ook even hoe je het opgelost hebt voor de anderen met het zelfde probleem
 
Sander Koerkamp

Sander Koerkamp

15/11/2010 17:41:14
Quote Anchor link
Was dit uiteindelijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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++;
}
?>
 
Jasper DS

Jasper DS

15/11/2010 19:00:16
Quote Anchor link
vergeet geen fout afhandelingen!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.