Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1606 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] gestion panier...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] gestion panier...

n°1105379
jerome134
Posté le 02-06-2005 à 14:28:16  profilanswer
 

bonjour,
je mesuis défini un panier de cette façon, mais je ne suis pas sûr que cela soit très efficace...

Code :
  1. if(!isset($_SESSION['panier']))
  2. {
  3.   $_SESSION['panier']=array("categorie" => $_GET['cat'],
  4.       "produit" => $_GET['prod'],
  5.       "qte" => 0);
  6. }


j'aimerai savoir comment augmenter la quantité d'un produit donné (par exemple, catégorie voiture, produit clio, quantité 1)
merci  :sol:


Message édité par jerome134 le 06-06-2005 à 09:40:29
mood
Publicité
Posté le 02-06-2005 à 14:28:16  profilanswer
 

n°1105409
dedefou
Allias Fiddelcastor
Posté le 02-06-2005 à 14:47:51  profilanswer
 

eh bien:
 
$SESSION['panier']["categorie"] = "voiture";
$SESSION['panier']["produit"] = "clio";
$SESSION['panier']["qte"] = "1";

n°1105428
benamoubea​ch
tivuplai
Posté le 02-06-2005 à 14:52:44  profilanswer
 

mais la ton panier il ne pourra avoir q'un seul produit , certe avec une quantité variable mais tu ne pourras pas avoir plusieurs produits.

n°1105474
jerome134
Posté le 02-06-2005 à 15:10:17  profilanswer
 

benamoubeach a écrit :

mais la ton panier il ne pourra avoir q'un seul produit , certe avec une quantité variable mais tu ne pourras pas avoir plusieurs produits.


 
ok ;), c'est résolu, j'ai changé mon panier:

Code :
  1. if(!isset($_SESSION['panier']))
  2. {
  3.   $_SESSION['panier']=array("categorie" => array(),
  4.          "produit" => array(),
  5.          "qte" => 0);
  6.  $_SESSION['panier']['categorie']=$cat;
  7.  $_SESSION['panier']['produit']=$prod;
  8.  $_SESSION['panier']['qte']+=1;
  9. }
  10. else
  11. {
  12.  if(!isset($_SESSION['panier']['$cat']))
  13.   {
  14.    $_SESSION['panier']['categorie']=$cat;
  15.    $_SESSION['panier']['produit']=$prod;
  16.          $_SESSION['panier']['qte']+=1;
  17.      }
  18.  else
  19.   {
  20.    $_SESSION['panier']['qte']+=1;
  21.   }
  22. }


mais maintenant, j'ai le problème suivant:
je prend un article de la categorie voiture, ça ecrit, 'vous avez 1 voiture'.
ensuite, si je prends un article de la catégorie fleur, ça écrit: 'vous avez 2 fleurs', donc je dois mal faire mon incrémentation, mais je vois pas...
en fait j'ai le nombre total d'articles, mais il me faudrait le nombre d'articles par catégories


Message édité par jerome134 le 02-06-2005 à 15:18:27
n°1105566
naceroth
Posté le 02-06-2005 à 15:33:36  profilanswer
 

Forcément, là (en oubliant le fait que $_SESSION soit lui-même un tableau), tu as un tableau d'une dimension contenant 3 valeurs. Tu dois passer en un tableau de n dimension contenant chacune les 3 valeurs :)
 
Manque donc une dimension dont l'indice doit être variable :)

n°1105683
jerome134
Posté le 02-06-2005 à 16:09:38  profilanswer
 

naceroth a écrit :

Manque donc une dimension dont l'indice doit être variable :)


je comprends pas...
tu veux un tableau du style $_SESSION['panier'][$i] ???????

n°1105738
naceroth
Posté le 02-06-2005 à 16:27:10  profilanswer
 

(je m'exprime en français en général pourtant non ? :D)
 
J'ai dit une dimension dont l'indice doit être variable, pas une dimension dont l'indice doit être UNE variable. En clair, pour pouvoir différencier deux articles du panier, faut bien quelque part un élément qui les différencie. Hors dans ton exemple, tout les noms d'indices sont constants :)
 
Tu pourrais faire, par exemple :
$_SESSION['panier']['voiture']['clio']['Qté'] = 1
ou
$_SESSION['panier'][0]['catégorie'] = 'voiture'
$_SESSION['panier'][0]['produit'] = 'clio'
etc...

n°1105759
jerome134
Posté le 02-06-2005 à 16:33:22  profilanswer
 

que penses-tu de ça...

Code :
  1. <?
  2. session_start();
  3. $cat=$_GET['cat'];
  4. $prod=$_GET['prod'];
  5. if(!isset($_SESSION['panier']))
  6. {
  7.   $_SESSION['panier']=array("categorie" => array( "produit" => array( "quant" => 0),
  8.                                                  "quantite" => 0),
  9.          "qte" => 0);
  10.  array_push($_SESSION['panier']['categorie'], $cat);
  11.  array_push($_SESSION['panier']['categorie']['produit'], $prod);
  12.  $_SESSION['panier']['categorie']['produit']['quant']=1;
  13.  $_SESSION['panier']['categorie']['quantite']=1;
  14.         $_SESSION['panier']['qte']=1;
  15. }
  16. else
  17. {
  18.  if(!isset($_SESSION['panier']['$cat']))
  19.   {
  20.    array_push($_SESSION['panier']['categorie'], $cat);
  21.    array_push($_SESSION['panier']['categorie']['produit'], $prod);
  22.    $_SESSION['panier']['categorie']['produit']['quant']=1;
  23.    $_SESSION['panier']['categorie']['quantite']=1;
  24.          $_SESSION['panier']['qte']=$_SESSION['panier']['qte']+1;
  25.      }
  26.  else
  27.   {
  28.    $_SESSION['panier']['qte']=$_SESSION['panier']['qte']+1;
  29.    $_SESSION['panier']['categorie']['quantite']=$_SESSION['panier']['categorie']['quantite']+1;
  30.    $_SESSION['panier']['categorie']['produit']['quant']=$_SESSION['panier']['categorie']['produit']['quant']+1;
  31.   }
  32. }
  33. echo "vous avez ".$_SESSION['panier']['qte']." articles dans votre panier<br />";
  34. echo "vous avez ".$_SESSION['panier']['categorie']['quantite']." articles dans la catégorie ".$_SESSION['panier']['categorie']."<br />";
  35. ?>


mais il y a un problème à la fin, ça écrit :
"vous avez un article dans la categorie array", c'est débile!!!
mais bon, c'est sûrement que je ne stocke pas la bonne chose dedans...

n°1105799
naceroth
Posté le 02-06-2005 à 16:49:07  profilanswer
 

Le message n'est pas débile, il est logique, $_SESSION['panier']['categorie'] est bien un tableau :)
 
On va partir de mon deuxième exemple, qui est plus "sain" que le premier :

Code :
  1. $_SESSION['panier'] = array(array('catégorie' => null,'produit' => null, 'quantité' => 0));


 
Là, c'est le listage le plus basique, à toi de le modifier à ta guise pour les regrouper par catégorie par exemple :)
 
//edit : pour comprendre comment ça marche, fait un tableau simple, hors session et regarde avec print_r comment il va se représenter. Ajoute des éléments jusqu'à maitriser le truc :)


Message édité par naceroth le 02-06-2005 à 16:51:26
n°1106588
jerome134
Posté le 03-06-2005 à 10:09:47  profilanswer
 

ouf, je m'en suis sorti...mais j'ai du modifier mon panier:

Code :
  1. $_SESSION['panier']=array("categorie" => array( "nomcat" => "N/D",
  2.                                                 "produit" => array( "numprod" => "N/D",
  3.                                                                      "quant" => 0),
  4.                                                "quantite" => 0),
  5.                           "qte" => 0);


enfin, maintenant, ça marche :)
par contre, j'ai un soucis du fait que quand je suis sur 1 page pour selectionner un article, si j'appuie sur le bouton "ajouter", ça ajoute au panier et je suis sur la page ajouter.php.
mais si je vais à la page précédente et qu'ensuite je retourne à ajouter.php (grâce aux flêches en haut du navigateur...) il me remet le dernier article selectionné dans le panier!
il faudrait donc que je puisse faire un test sur le fait quer l'on appuie bien sur le bouton "ajouter"...
quelqu'un peut-il me dire comment m'y prendre...?
merci


Message édité par jerome134 le 04-06-2005 à 13:24:58
mood
Publicité
Posté le 03-06-2005 à 10:09:47  profilanswer
 

n°1107303
naceroth
Posté le 03-06-2005 à 16:56:57  profilanswer
 

Ca ne fonctionnera pas, si tu utilises les boutons précédent/suivant, tu repostes le formulaire tel quel. Y compris le bouton sur lequel tu as appuyé.
 
Faut plutôt se diriger vers un système d'header entre ajouter.php et ta page de sélection.

n°1108147
jerome134
Posté le 04-06-2005 à 17:55:54  profilanswer
 

euh...d'accord, mais je sais pas du tout comment ça marche le header...je vais me renseigner...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] gestion panier...

 

Sujets relatifs
[postgre][php] gestion des connexions inactivesSelect multiple et remplissage d'une zone de texte [resolu tout seul]
passage de parametres [Résolu][RESOLU] Maintien d'un formulaire
[RESOLU] petit soucis de formulaire et javascript[RESOLU] Impression d'état : une page vierge en rab !
[Résolu]Url Rewriting[resolu] pb de requête avec clause 'distinct'
[resolu]probleme des saut d'image sous excel[RESOLU] Chemin d'accès valide... ou pas.
Plus de sujets relatifs à : [Résolu] gestion panier...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR