Modifier contenu d'un panier php

Fermé
john888888 - 29 févr. 2012 à 12:01
Bonjour,

J'ai un panier php dans lequel j'ai un input recalculer qui modifie la qte (la fonction marche bien) et une qui modifie la remise. J'arrive à mettre la même remise pour tous les articles mais pas une différentes pour chaque article.

//le code d'action si j'ajoute supprime ou recalcule le panier

if($action !== null) {
   if(!in_array($action,array('ajout', 'suppression', 'Recalculer')))
   $erreur=true;

 //Suppression des espaces verticaux
   $l = preg_replace('#\v#', '',$l);
   //On verifie que $p soit un float
   $p = floatval($p);
   $code_magasin = floatval($code_magasin);
   //On traite $q qui peut etre un entier simple ou un tableau d'entier

   if (is_array($q)){
      $QteArticle = array();
      $i=0;
      foreach ($q as $contenu){
         $QteArticle[$i++] = intval($contenu);
      }
   }
   else
   $q = intval($q);

}
if (!$erreur){
   switch($action){
      Case "ajout":
         ajouterArticle($code_magasin,$marque,$l,$q,$p,$remise);
         break;

      Case "suppression":
         supprimerArticle($code_magasin);
         break;

      Case "Recalculer" :
         for ($i = 0 ; $i < count($QteArticle) ; $i++)
         {
            modifierQTeArticle($_SESSION['panier']['idProduit'][$i],round($QteArticle[$i]));
         }
		 for($i = 0 ; $i <= count($idProduit);$i++)
		 {
		 			modifier_remise($_SESSION['panier']['idProduit'][$i],$remise[$i]);
			}
		break;

      Default:
         break;
   }
}


// fonction modifierQteArticle et modifier_remise

function modifierQTeArticle($idProduit,$qteProduit){
   //Si le panier éxiste
   if (creationPanier() && !isVerrouille())
   {
      //Si la quantité est positive on modifie sinon on supprime l'article
      if ($qteProduit > 0)
      {
         //Recharche du produit dans le panier
         $positionProduit = array_search($idProduit,  $_SESSION['panier']['idProduit']);
         if ($positionProduit !== false)
         {
            $_SESSION['panier']['qteProduit'][$positionProduit] = $qteProduit ;
			
         }
      }
      else
      supprimerArticle($idProduit);
   }
   else
   echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
function modifier_remise($idProduit,$remise){
   //Si le panier éxiste
   if (creationPanier() && !isVerrouille())
   {
         $positionProduit = array_search($idProduit,  $_SESSION['panier']['idProduit']);
 if ($positionProduit !== false)
         {
            $_SESSION['panier']['remise'][$positionProduit] = $remise ;
         }
		 }
		 else
		 {
		 echo erreur;
		 }
		 }


Merci de votre aide.