ViNCiNTO
Messages postés20Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention 1 juillet 2010
-
27 mars 2006 à 17:02
ViNCiNTO
Messages postés20Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention 1 juillet 2010
-
27 mars 2006 à 18:06
Bonjour a tous, je poste ce message parce que j'ai un petit problème avec une boucle for each. Voila en fait je parcours
un cookie qui contient des produits. Donc pour chaque produit je recupere le nom, la quantité, le prix unitaire... et
je concatène toutes ces infos dans une variable que j'appelle $chaine. De plus, je recupere le prix*quantité dans une
variable $total. Le but de la manoeuvre étant de pouvoir etablir une facture a partir de 2 variables $contenu et $prix
qui contiendrai la somme des variables $chaine (concatenation) et $total (somme algébrique). Pour cela je fais un truc du genre $prix +$total et $contenu $contenu.$chaine. Le problème c'est que cela ne marche pas, au lieu d'ajouter ou de
concaténer ca recupere les valeurs que pour le dernier produit. J'avais deja fait ce genre de truc (+=) pour additionner
des nombres a partir d'un for each et ca marchait. Voila j'espere que tu pourras m'aider (encore une fois), je t'envoie
le code dans le fichier texte. Merci d'avance...
foreach ($_COOKIE['Cookie'] as $key => $val) {
// On recupere toutes les infos du produit courant
$result = $produits->getInfos($key) ;
if (sizeof($result) > 0) {
// Initialisation des variables
$contenu = "" ;
$prix = 0 ;
// On affiche tout les produits ($key2) et leur quantité ($val2)
foreach ($result as $key2 => $val2) {
// On recupère le nom du produit
$produit = $val2->field("prod_NomProduit".$lang2."") ;
// On récupère le prix du produit
$prix_produit = $val2->field("prpd_ValeurTTCPrixProduit") ;
// On recupere la quantité dans le cookie (dans la variable $qte)
$quantity = $val ;
// On calcule le prix*quantité pour chaque produit
$total = $prix_produit*$quantity ;
// On crée une chaine en concaténant le nom, la quantité et le prix unitaire de chaque produit
$chaine = $produit." - x".$val." - ".$prix_produit."?" ;
// On concatène tous les produits ($chaine)
$contenu = $contenu.$chaine ;
// On calcule le prix total
$prix += $total ;
//////////////////////////////////////////
// On fait la trace des variables utilisées :
echo "$ chaine : ".$chaine."
" ;
echo "$ total : ".$total."
" ;
echo "$ contenu : ".$contenu."
" ;
echo "$ prix : ".$prix."
" ;
echo "--------------------
" ;
//////////////////////////////////////////
}
}
}
//////////////////////////////////////////
echo "*****************************
" ;
echo "$ contenu : ".$contenu."
" ;
echo "$ prix : ".$prix ;
exit;
//////////////////////////////////////////
ViNCiNTO
Messages postés20Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention 1 juillet 2010 27 mars 2006 à 18:06
Ok merci beaucoup, j'ai fait une erreur de débutant. J'étais sûr que ca devait marcher et en fait c'est bon j'avais juste mal initialisé mes variables. En initialisant avant le premier for each ca marche nikel. Comme tu disais .= et += c'est pareil, les 2 marches. Merci beaucoup !