Sortir une variable d'un foreach

Signaler
Messages postés
3
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010
-
Messages postés
24
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
25 mars 2010
-
Bien le bonjour ici, alors voila je suis actuellement sur un projet de réalisation d'un site de gestion de points
cadeaux.
Jusqu'ici tout marche bien, sauf un petit dilemme dans le panier interactif.
J'affiche en fait mon panier stocké dans un array grace à une boucle foreach, pour chaque produit dans le panier est
affichée une ligne de tableau dans lequel se trouve deux input type submit permettant la suppression ou la modification
de la quantité du produit.
Seulement voila ces boutons ne fonctionneront que pour la dernière occurrence du tableau, car ce sera la dernière valeur
prise par $refe.
Ce qui m'amène à ma question, comment rendre ces suppressions et modifications fonctionnelles pour toutes les occurrences ?

Merci d'avance :)

<?php
extract($_POST);
include('connect.php');
include_once('panier.php'); // ici utilisation du once pour éviter la redéfinition de la classe
$MonPanier = new Panier(); //création d'une classe panier
if (isset($ajouter)){      // si clic sur l'un des boutons commander du catalogue, on ajoute l'item
$MonPanier -> addItem($refproduit=$produit,$nb=1);
}
if (isset($supprimer)){      // si clic sur l'un des boutons de suppression, on supprime l'item
$MonPanier -> removeItem($refproduit=$refe,$nb=0);
}
if (isset($modifier)){      // si clic sur modifier, on transmet la valeur dans le champ texte
$MonPanier -> setQuantity($refproduit=$refe,$toSet=$nombre);
}
$tab = $MonPanier -> showCart(); // $tab devient l'array avec les valeur du panier

echo "<form action="index.php?page=4" method="post">
Mon Panier :

Produit,
Quantité,
Cout en points,
\";
$cout_total = 0;
foreach($tab as $ref => $data) {$requete mysql_query(\"SELECT * FROM produit WHERE produit.code_produit '\".$data['ref'].\"'\") or die(mysql_error());
$resultats = mysql_fetch_row($requete);
$cout = $resultats[4] * $data['qte'];
$cout_total += $cout;
echo \"----

".$data['ref'].",

,
".$cout.",
\";
}
echo \"
----

,
,
Coût total = $cout_total

</form>";
?>

2 réponses

Messages postés
24
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
25 mars 2010

il manque le code des fonctions
le probleme viens du form qui est en dehord de ta boucle foreach
Messages postés
24
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
25 mars 2010