Panier et gestion couleurs

cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007 - 8 avril 2006 à 07:44
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007 - 9 avril 2006 à 14:28
Bonjour!
Voila, actuellement je dévelloppe un panier en php utilisant les sessions. Ce dernier fonctionne très bien. Ajout, suppression, modification. Mais le problème se situe au niveau de la gestion des couleurs. Par exemple, j'ai un produit existant dans 4 couleurs (bleu, vert, rose, jaune) . Si je veux rajouter le produit rose, cela fonctionne. Par contre, si je veux ce même produit, mais en vert cette fois, le produit rose de est effacé, et est remplacé par le vert. Je ne peux donc pas avoir plusieurs couleurs du même produit dans mon panier. Quelqu'un saurait-t-il me donner des pistes de recherche???
Voila un bout de code que j'utilise pr l'ajout d'un produit (trouvé ici même mais modifié selon mes besoins....)

if(isset($ref) && isset($qte) && isset($codecouleur))
{

//on récupère la référence du produit
$produit= $ref;
$qte=$qte;
$codecouleur =$codecouleur;
$prodexiste= "false";

if(isset($_SESSION['panier']))//Si mon panier existe déja
{
$prodencours = count ($_SESSION['panier']);
$panier = $_SESSION['panier'];
// on compte le nombre d'éléments dans le panier...
for($i =0;$i<$prodencours;$i++) {
// on fait une boucle qui va passer en revue chaque produit du panier
// pour voir si le produit que l'on veut rajouter existe déja
if($panier[$i]['ref'] = = $produit) { // le produit existe...

$prodexiste = "true";
// inscrit dans une variable que le produit existe...
$prodligne = $i;
// et on précise aussi quel est son emplacment dans le caddie
}
}

if($prodexiste == "true") { // Si le produit est déja présent dans le panier


//la quantité précédente est effacée...

array_splice($panier,$prodligne,1);
// ...pour laisser place à la nouvelle
array_push($panier,array("ref" => $produit,"qte" = > $qte,"couleur"=>$codecouleur));


}
else { // sinon on rajoute le produit dans le panier tt simplement...

array_push($panier,array("ref" => $produit,"qte" = > $qte,"couleur"=>$codecouleur));
}


}
else { // si le panier n'existe pas...

// on le créer...
$_SESSION['panier'] = array ();
// on rajoute le produit et la quantité...et la couleur
array_push($_SESSION['panier'],array("ref" => $produit,"qte" => $qte,"couleur"=>$codecouleur));
}

10 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 avril 2006 à 16:01
Salut,

if($panier[$i]['ref'] == $produit) { // le produit existe...

en fait il faudrait que tu compares si les produits n'ont pas les mêmes références, je pense qu'un produit rouge et un produit vert n'ont pas les mêmes références, sinon ça te posera des problèmes en effet.

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007
9 avril 2006 à 09:00
Salut! ben en fait le problème est là. La même référence peur se décliner en plusieurs couleurs. Faut-il absolument une référence pour un produit et pour une couleur? Ou bien il y a moyen de modifier le code en prenant en compte la couleur?
Quelque chose du genre :
if($panier[$i]['ref'] == $produit AND $panier[$i]['codecouleur'] == $codecouleur) { // le produit existe...

Merci d'avance...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 10:44
Bah tu peux très bien faire ça oui, tu rajoutes un champ couleur, mais bon si t'as des produits qui n'existent qu'en une seule couleur ça fait des données à stocker pour rien. Bref c'est à toi de voir :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007
9 avril 2006 à 10:53
ok ok!! merci pour l'info. Tu procèderai comment toi???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 13:15
Bah je mettrais une référence différente pour chaque produit quelle que soit sa couleur... m'enfin ça dépend énormément de ce que t'as comme produits, c'est à voir en fonction.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007
9 avril 2006 à 13:23
arrffff... c'est vrai. Vu comme ça c bien plus simple. En fait ce sont des oeuvres d'art. Par exemple, j'ai un vase, et ce vase est disponible ds dix couleurs.... Donc, je ne sais pas trops quelle technique adopter. La tienne semble plus facile à mettre en place. Mais......
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 14:14
Bah vu que chaque produit a une photo différente, une couleur différente, peut-être même un prix différent (lol), je pense qu'une référence unique pour chaque produit serait plus simple. Après tu peux faire aussi un champ "catégorie" qui justement groupera les "mêmes produits" ayant des couleurs différentes.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007
9 avril 2006 à 14:22
lol vu comme ça c plus simple oui!!! Pourrais tu explicité un peu plus ton idée du champ catégorie? Cela pourrait être la solution que je cherche...
merci!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 14:24
Bah pour les deux vases identiques ayant seulement leur couleur qui change (ou le prix, bref pas le produit en lui-même) la catégorie serait la même... après tu nommes ce champ comme tu veux :)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_titeuf974 Messages postés 70 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 6 février 2007
9 avril 2006 à 14:28
ahhh... ok ok!!! je vais tester la chose!! merci de ton aide !!!!
0
Rejoignez-nous