La somme de plusieurs lignes dans un tableau en php

nahac Messages postés 10 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 26 février 2017 - 29 sept. 2010 à 09:18
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 29 sept. 2010 à 13:41
Bonjour,

Je suis en train de realiser une facture qui contient plusieurs produits(nombre defini par le client )
A la fin je doit additionner la somme de toutes les lignes pour avoir le montant total de la facture en H.T.
Mais j'en ai aucune idée comment faire ça.
Pouvez vous m'aidez.
Merci d'avance.

3 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
29 sept. 2010 à 10:42
Salut,

Personnellement, j'aurais fait une addition...

On peut te proposer plusieurs manières de faire, mais si on ne sait pas à quoi ressemble ton code, on ne peut rien dire. On a besoin de savoir ce que tu fais des données, si tu les stockes, les traites, les affiches, comment tu fais ça : est-ce que tu parcours un tableau, une ressources, ets-ce que tu t'y prends autrement... ? Bref...

Y'a bien array_sum() mais je pense que ça ne conviendra pas à ce que tu veux faire.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
nahac Messages postés 10 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 26 février 2017
29 sept. 2010 à 12:08
Salut voici le code:
">







Facture N°:













Mode de paiement:


En espèce
Par chèque




Produit :
Choisir

,

,
,

">Enlever






Total H.T:

Total T.V.A:

Total T.T.C:





























0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
29 sept. 2010 à 13:41
C'est très difficilement lisible... La balise code est là justement pour que le code soit lisible, et elle n'est pas difficile à utiliser...

Ceci :
header('location:Ajouter_facture3.php');

n'est pas correct. Il FAUT écrire :
header('Location: Ajouter_facture3.php');

"Location" prend une majuscule : ce n'est pas facultatif, c'est un entête HTTP défini dans les standards et implémenté ainsi. Il faut aussi un espace après les deux points, idem, c'est défini ainsi dans les standards.

$rows = mysql_num_rows($Recordset1); 

Tu as déjà calculé le nombre de lignes, que tu as stocké dans $totalRows_Recordset1. Là, en plus, tu recalcule cette valeur à chaque nouveau résultat (comme s'il risquait de changer pendant la lecture ?)

Bon. Pour répondre à ta question, puisque tu parcours des résultats qui contiennent entre autres informations, le prix, il te suffit de stocker les prix dans un tableau et d'utiliser array_sum() sur ce tableau, au moment de l'afficher.

Grosse erreur de conception qui entraîne des performances déplorables : utiliser une requête SELECT pour chaque produit... MySQL permet d'utiliser IN dans la clause WHERE... Je t'invite à aller jeter un oeil à la doc de MySQL, tu y trouveras des choses intéressantes (ça te permettra de ne faire qu'une requête pour sélectionner tous les produits d'une liste).

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
Rejoignez-nous