Cumuler une variable dans une boucle

RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006 - 14 juin 2005 à 12:44
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 14 juin 2005 à 15:33
Bonjour,

Je débute en PHP.
Dans une boucle :
for ($i=0; $i < $NbArt; $i++){

J'extrait une valeur :

$Montant=$_SESSION['achats'][$i] ['Montant'];

Je voudrais obtenir le total de mes $Montants!

Comment faire?

Merci

30 réponses

daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 12:55
il te suffit de faire $MontantTotale += $Montant; ou $MontantTotale =
$MontantTotale+$Montant; (c'est la meme chose) dans ta boucle while

ce qui va te permettre de cumuler tout tes montants.





N'oublie pas de valider la réponse ...




La programmation me permet de créer ma visualisation du monde sans être contraint par les idées de "grands hommes" qui ne voyent pas plus loin que leur porte-feuilles
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 13:04
Que veux tu dire quand tu dis valider?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 13:09
Hello,



une autre solution (exemple avec un tableau fictif base sur la
structure du tien). Totalement inutile dans ton cas lol. C'est juste
pour te montrer qu'il existe une fonction permettant de compter les
valeurs presentes dans un tableau.



Par exemple, si tu avais un tableau plus simple genre :

$tab array ('achats'> array ('montant' => 1, 5, 10, 8, 12));

tu pourrais faire sans le parcourir :

$montant = array_sum ($tab['achats']);

echo $montant;



Avec ton code (mais c'est donc inutile avec ta structure de tableau,
cela revient a ce que t'a montre daffy, avec une fonction en plus, donc
c'est inutile) :



<?php



$tab array ('achat'> array (0 => array ('montant'
> 5), 1 > array ('montant' => 4), 2 => array ('montant'
=> 3)));



foreach ($tab['achat'] as $clef => $val) {

$montant += array_sum ($tab['achat'][$clef]);

}



echo $montant;



?>
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 13:09
J'ai ecrit ce script!

$TotalHT += $Montant;

Le calcul s'effectue mais ! Je l'affiche mais j'ai ce message

Notice: Undefined variable: TotalHT in e:\easyphp1-8\www\corsevene\caddie.php on line 41
je ne comprends pas!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 13:09
Tu a un bouton valider en dessous de ma réponse ce qui permet de mettre la ligne en verte dans le forum pour indiquer que la solution à été trouvé, à moins que cela ne te conviennes pas? lol
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 13:12
Il faut que tu initialise ta variable à 0 avant ta boucle (désolé jte l'es pas dit avant) car sinon le premier coup il va essayer de cumuler un tarif avec une valeur null

$TotalHT = 0;
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 14:04
Salut,



le total ne serait pas égal à $NbArt ?






<li>
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 14:39
le total des i oui mais pas le total
le $NbArt compte les articles dans la sessions.... ou autrement dit le nombre de lignes................
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 14:42
array_sum($_SESSION['achats'][$i] ['Montant']) ?






<li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 14:44
hum heu non vu que t'as le $i qui fait ch...



$Montant=0;

for ($i=0; $i < $NbArt; $i++)

{

$Montant+=$_SESSION['achats'][$i] ['Montant'];

}







<li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 14:46
ca ne marche pas ca, $_SESSION['achats'][$i] ['Montant'] n'est pas un tableau, c'est la valeur d'une entree d'un tableau.
Ca fera une jolie erreur :-)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 14:50
d'où mon message qui suit (je me suis rendu compte de mon erreur)






<li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 14:51
Oui exactement lol.
C'est pour ca que j'ai dit que la, ce n'etait pas applicable reellement.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 14:52
On se croise lol!! Encore la ;-)
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 14:54
Sympa! mais j'avance pas bcp!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 juin 2005 à 14:56
? T'as pourtant eu la reponse.
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 14:57
J'ai quoi comme soluce?
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
14 juin 2005 à 14:57
tu a essayé d'initialisé ta variable a zero au debut de ta boucle ?
0
RDLG2A Messages postés 44 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 24 mars 2006
14 juin 2005 à 15:04
J'ai fait cela exactement :
$liste =$_SESSION['achats'];


$Total=0;
$NbArt = count($_SESSION['achats']);

for ($i=0; $i < $NbArt; $i++)//debut boucle
{
$Montant=$_SESSION['achats'][$i] ['Montant'];
$Total=$Total+$Montant;
....
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 juin 2005 à 15:12
"

Sympa! mais j'avance pas bcp!"



Bah tu recules pas c'est déjà ça






<li>
0
Rejoignez-nous