boucle et addition

moi_memeNAdege
Invité n'ayant pas de compte PHPfrance

20 mai 2010, 18:00

Bonjour
Je dois a partir d'un panier faire la somme des produits achetées
pour ca j'ai une table achat ou il y a des id des produits et la quantité achetée ensuite une table produit ou je vais chercher le prix que je multiplie par la quantité
jusque là ca va
le hic vient quand je dois additionner le tout
et là ca bug
j'arrive a des sommes partielles et une somme totale mais je ne fais que rester dans la boucle
il faudrait que j'en sorte mais là je bloque
si qqun a 1 mn pour regarder le code
merci
Nadege
--------------
// pour le client a l'id_client on recherche les achats correspondant dans la base ACHAT
	   
       		$achat_client = lire_unseulachat($_GET['id_client']); 
		 	foreach($achat_client as $listing){
			$produit= $listing['id_produits'];
			   
			   
			   //ensuite avec l'id produit on peut voir le descriptif du produit dans la base achat         
					$mon_pdt = lire_unpdt($produit); //pour choisir l'id du produit acheté
					$nb_pdt = count($mon_pdt); 
					for($i=0; $i<$nb_pdt; $i++){
					   echo '<p>';
					   echo '<div id="ref">'.$mon_pdt[$i]["ref"].'</div><div id="prod"><img src="images/coche.gif" height ="15">'.$mon_pdt[$i]["titre"].' ('.$mon_pdt[$i]["contenance"].'ml )</div>';	
					   echo $mon_pdt[$i]["prix"].' € x '.$listing["quantite"];
					   echo ' ='.$listing["quantite"]*$mon_pdt[$i]["prix"].' €';
					   echo '</p>';
					   $total_pdt+=$listing["quantite"]*$mon_pdt[$i]["prix"];
					    echo 'le total est de '.$total_pdt; //et c'est pas bon
						}
			}	
total de la commande =.... €

Eléphant du PHP | 428 Messages

20 mai 2010, 20:46

Salut,

Il y a plusieurs points à vérifier. En gros, si je fais :
<?php
$listing["quantite"] = 10;

$mon_pdt[0]["prix"] = 10;
$mon_pdt[1]["prix"] = 1;
$mon_pdt[2]["prix"] = 20;

$total_pdt+=$listing["quantite"]*$mon_pdt[0]["prix"];
$total_pdt+=$listing["quantite"]*$mon_pdt[1]["prix"];
$total_pdt+=$listing["quantite"]*$mon_pdt[2]["prix"];

echo $total_pdt;
?> 
Mon total s'additionne bien. j'obtiens 310.
Le hic c'est que la quantité est identique pour chaque prix : à toi de voir si c'est normal.

Je ne suis pas parvenu à comprendre si tu avais finalement un résultat qui s'affiche ou pas pour le total. C'est pourquoi, je te demande d'être plus précis lors de ton prochain message car on n'est pas dans ton code et il nous faut TOUS les détails OU du moins un détail ciblé pour pouvoir t'aider au mieux.
j'arrive a des sommes partielles et une somme totale mais je ne fais que rester dans la boucle
il faudrait que j'en sorte mais là je bloque
Je ne vois pas comment tu pourrais afficher un total sans boucle

a+