Somme de produits dans un tableau

jackOB
Invité n'ayant pas de compte PHPfrance

18 janv. 2012, 12:54

Bonjour !

J'ai un fragment de code qui me permet de lister des produits dans un tableau avec le nom en colonne 1, la quantité en colonne 2 et le prix en colonne 3.
J'ai ajouté une dernière ligne qui fait le total des prix (addition des valeurs de la colonne 3) mais je souhaiterais que les quantité soit prises en compte.

Exemple actuel :
produit 1 .................... qté : 1 .................. 15 €
produit 2 .................... qté : 2 .................. 10 €
total : 25 €

Alors que je voudrais en total : 15 + 2x10 = 35€

Code : Tout sélectionner

$q = "SELECT * FROM products WHERE product.id IN (";foreach ($tableau_idcommandes as $id) $q .= $id.","; $q = substr($q,0,-1).") $dbs->query($q); $tabProduits = array(); $i=0; $somme = 0; while($dbs->next_record()) { $tabProduits[$i]["product_name"] = $dbs->f("product_name"); $tabProduits[$i]["quantity"] = $dbs->f("quantity"); $tabProduits[$i]["listprice"] = $dbs->f("listprice"); $somme += $dbs->f("listprice"); $i++; }
Qu'en pensez-vous ? Comment pourrais-je faire un somme sur les résultats des produits qté x prix ?

Merci d'avance pour vos idées,

JackOB

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 janv. 2012, 13:34

salut,

si tu veux le total par ligne c'est une simple multiplication (quantity*listprice)

si tu veux le total de tout (en SQL) faut un sum sur la multiplication


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

18 janv. 2012, 19:25

 {
        $tabProduits[$i]["product_name"] = $dbs->f("product_name");
        $tabProduits[$i]["quantity"] = $dbs->f("quantity");
        $tabProduits[$i]["listprice"] = $dbs->f("listprice");
        $somme += $dbs->f("listprice")* $dbs->f("quantity"); // Ca ne serait pas ça par hasard?
        $i++;
      }
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD