Page 1 sur 1

Somme des valeurs d'un tableau

Posté : 22 avr. 2005, 11:07
par Toony
Encore moi!

J'ai récupéré le code suivant:

Code : Tout sélectionner

function add($ref,$qte) { $_SESSION['achats'][] = array ("ref" => $ref,"qte" => $qte); }
Ce tableau se remplit petit a petit et j'essaye de récupérer la somme de toutes les valeurs du champ quantité..
Je suis parti sur un
$count2 = count($_SESSION['qte']);
mais ca m'a pas l'air tres juste...

une idée?

Posté : 22 avr. 2005, 12:45
par Cyrano
Hello
$count2 = count($_SESSION['qte']);
Cette ligne ne va pas faire un total des valeurs enregistrées mais le compte du nombre d'occurences, de lignes si tu préfères.
Pour avoir un total additionnant les valeurs qui vont être enregistrées dans $_SESSION['qte'], il faudrait faire :
<?php
$_SESSION['total'] = 0;
function add($ref, $qte)
{
    $_SESSION['total'] += $_SESSION['qte'];
}
?>
Il faudrait cependant traiter à part les références. Le code que tu as montré va ré-initialiser la variable de session $_SESSION['achat'] à chaque appel.

Donc on reprend du début .
-1- On initialise les variables de session :
$_SESSION['total'] = 0;
$_SESSION['achat'] = array("ref" = array(), "qte" = array());

-2- On ajoute les valeurs par la fonction :
function add($ref, $qte)
{
    array_push($_SESSION['achat']['ref'], $ref);
    array_push($_SESSION['achat']['qte'], $qte);
    /* On ajoute la quantité à la valeur déjà contenue dans la variable de session total */
    $_SESSION['total'] += $qte;
}
-3- On récupère le total obtenu :
echo($_SESSION['total']);
Voilà, comme ça, tu auras la quantité totale. Pour le nombre de références enregistrées, ce sera
count($_SESSION['achat']['ref']);

Posté : 22 avr. 2005, 13:55
par Invité
Merci pour tout ça!

C'est très clair et ça marche! :D

Posté : 22 avr. 2005, 13:57
par Cyrano
Tu m'en vois ravi :)