Sortir une variable d'un foreach

nazdred Messages postés 3 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 7 novembre 2010 - 24 mars 2010 à 02:41
ronan972 Messages postés 24 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 25 mars 2010 - 25 mars 2010 à 17:18
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

ronan972 Messages postés 24 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 25 mars 2010
24 mars 2010 à 16:05
il manque le code des fonctions
le probleme viens du form qui est en dehord de ta boucle foreach
0
ronan972 Messages postés 24 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 25 mars 2010
25 mars 2010 à 17:18
0
Rejoignez-nous