Session : prob d'ajout de données

DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 - 19 juin 2006 à 08:51
DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 - 19 juin 2006 à 08:58
Yaoh !

voilà pour faire mon panier virtuel, j'utilise des sessions. Je mets bien le session_start() ; en début de code et j'appelle cette fonction pour ajouter des panneaux de polices (pour chaque panneaux, je dois conserver une référence, une référence sur la taille, une quantité pour cette taille et une classe (une propriété du panneaux). Voilà la fonction :

function ajouter_pan($ref,$reft,$qte,$classe)
{
   if(isset($_SESSION['Panneaux']))
   {
      $nb = count($_SESSION['Panneaux']) ;
      $existe = 0 ;
      for ($i=0;$i < $nb;$i++)
      {
         if($_SESSION['Panneaux'][$i]['Ref'] == $ref)
         {
            $existe = 1 ;
            $nbtaille = count($_SESSION['Panneaux'][$i]['Taille']) ;
            $existetaille = 0 ;
            for ($j=0;$j < $nbtaille;$j++)
            {
               if($_SESSION['Panneaux'][$i]['Taille'][$j]['Reftaille'] == $reft)
               {
                  $existetaille = 1 ;
                  $_SESSION['Panneaux'][$i]['Taille'][$j]['Qte'] += $qte ;
               }
            }
            if(!$existetaille)
            {               $taille array("RefTaille"> $reft, "Qte" => $qte, "Classe" => $classe) ;
               $_SESSION['Panneaux'][$i]['Taille'][] = $taille ;
            }
           }
         }
         if(!$existe)
         {            $taille array("RefTaille"> $reft, "Qte" => $qte, "Classe" => $classe) ;
            $_SESSION['Panneaux'][] = array ("Ref" => $ref, "Taille" => $taille) ;
         }
      }
      else
      {         $taille array("RefTaille"> $reft, "Qte" => $qte, "Classe" => $classe) ;
         $_SESSION['Panneaux'][] = array ("Ref" => $ref, "Taille" => $taille) ;
      }
   }

Petites explications : avec cette fonction, je vérifie si un panneaux existe déjà avant de compter. Ensuite, je regarde si le panneaux est déjà présent et dans ce cas, si la même taille a déjà été renseignée. Si c'est le cas, je rajoute la quantité. Sinon, je la met en plus.
Le problème c'est qu'il n'ajoute qu'un paneaux. Je m'explique, g fait un ajout manuel afin de tester ma fonction et g appeler trois fois cette fonction de suite avec des paramètres différents. Mais il ne prend en compte que mon premier ajout. Pouvez-vous m'aider ?

1 réponse

DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 1
19 juin 2006 à 08:58
Je précise kkchose ke je viens de voir à l'instant : il ajoute bien la référence du panneaux. C'est lui associer les tailles qui cloche. Il associe une taille o premier panneaux, mais il n'en associe pas d'autre pour le meme panneaux, ou une taille pour un autre panneaux.
0
Rejoignez-nous