Rebonjour
J'ai laissé pour le moment pour la suppression de l'article car je n'ai pas encore testé pour le code.
Je voulais ajouter un nouveau "select" pour avoir un choix de couleur, par contre je bloque sur le fait de faire les tests, cela fonctionne plus ou moins mais je ne sais pas vraiment comment tester le contenu des valeurs de sessions en array pour déclencher l'action à faire, cela fonctionne sur les ajouts d'un article mais dés que je place un nouvelle référence cela n'ajoute pas il me dis qu'il existe déja, le code concerné pour le moment et la partie : function ajouterArticle
Je sais que ce n'est peu être pas la bonne solution, mais après quelques recherches je suis tombé sur un explicatif des array pour effectuer des recherche de valeur dans les array :
Je garde l'ancien code pour faire mes incrémentation si le produit existe en fonction de la partie modifiée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $positionProduit = array_key_exists($libelleProduit, array_flip($_SESSION['panier']['libelleProduit'])); $positionTaille = array_key_exists($taille, array_flip($_SESSION['panier']['taille'])); $positionCouleur = array_key_exists($couleur, array_flip($_SESSION['panier']['couleur']));
Donc pour le test d'ajout de produit s'il n'existe pas je fait ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $positionProduit2 = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']); $positionTaille2 = array_search($taille, $_SESSION['panier']['taille']); $positionCouleur2 = array_search($couleur, $_SESSION['panier']['couleur']);
Cela fonctionne pleinement avec 1 produit mais dés que j'appel le 2ème il s'arrête à la première taille/couleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function ajouterArticle($libelleProduit,$taille,$couleur,$qteProduit,$prixProduit) { //Si le panier existe if (creationPanier() && !isVerrouille()) { //Si le produit existe déjà on ajoute seulement la quantité $positionProduit2 = array_search($libelleProduit, $_SESSION['panier']['libelleProduit']); $positionTaille2 = array_search($taille, $_SESSION['panier']['taille']); $positionCouleur2 = array_search($couleur, $_SESSION['panier']['couleur']); $positionProduit = array_key_exists($libelleProduit, array_flip($_SESSION['panier']['libelleProduit'])); $positionTaille = array_key_exists($taille, array_flip($_SESSION['panier']['taille'])); $positionCouleur = array_key_exists($couleur, array_flip($_SESSION['panier']['couleur'])); if(!$positionProduit && !$positionTaille && !$positionCouleur || $positionProduit && !$positionTaille && $positionCouleur || $positionProduit && $positionTaille && !$positionCouleur || $positionProduit && !$positionTaille && !$positionCouleur) { echo "on créer le produit"; array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit); array_push( $_SESSION['panier']['taille'],$taille); array_push( $_SESSION['panier']['couleur'],$couleur); array_push( $_SESSION['panier']['qteProduit'],$qteProduit); array_push( $_SESSION['panier']['prixProduit'],$prixProduit); } } else echo "Un problème est survenu veuillez contacter l'administrateur du site."; }
J'essaye plusieurs pistes mais je n'ai pas un bon niveau malheureusement si quelqu'un saurait comment gérer au mieux ceci merci d'avance.
A noter qu'au pire si on ajoute un produit qui existe on pourrait simplement dire qu'il est déjà dans le panier et qu'il faut l'incrémenter dans panier.php directement.
Partager