Panier, tableaux, etc....
Posté : 29 août 2019, 11:11
Bonjour à tous !
J'ai un projet de création de site de vente en ligne.
J'en suis au panier, qui, on peut le dire, me pose quelques soucis.
Tout se passe bien pour sa création, le premier produit est ajouté correctement, les infos sont bonnes.
Dans ce panier, j'ai besoin d'avoir un champ spécifique communiqué par le client, dans un form de la page précédente, avant ajout au panier, récupérée par un $_POST['champ_specifique'].
Voici le code de ce qui fonctionne et qui n'est exécuté que si il n'existe pas de panier (donc ajout du premier produit dans le panier)
Lorsque je vais dans le panier, tout est ok. Je peux retirer le produit, vider le panier, ….
Ca se corse lorsque je veux ajouter un second produit, qui n'est pas le même que le premier, mais qui comportera aussi un champ spécifique.
Je précise que l'ajout du second produit est ok, les montants et les totaux sont ok, la seule chose, c'est que mon champ spécifique est le même (le dernier entré) pour tous les produits du panier.
Voici le code que j'ai intégré et qui lui est exécuté après qu'on ait vérifié qu'un panier existe déjà :
Je ne suis pas super à l'aise avec les array. J'ai fait un print_r sur une variable que je récupère et qui correspond à mon champ spécifique, il sont affichés correctement, tous.
Comment faire pour ajouter un nouveau produit au panier lorsqu'un panier existe déjà en prenant en compte le champ specifique de ce produit ?
Merci d'avance de vos réponses.
Gaëtan
J'ai un projet de création de site de vente en ligne.
J'en suis au panier, qui, on peut le dire, me pose quelques soucis.
Tout se passe bien pour sa création, le premier produit est ajouté correctement, les infos sont bonnes.
Dans ce panier, j'ai besoin d'avoir un champ spécifique communiqué par le client, dans un form de la page précédente, avant ajout au panier, récupérée par un $_POST['champ_specifique'].
Voici le code de ce qui fonctionne et qui n'est exécuté que si il n'existe pas de panier (donc ajout du premier produit dans le panier)
Code : Tout sélectionner
$_SESSION['cart'] = array($product_id => array('qty' => $quantity, 'champ_specifique' => $_POST['champ_specifique']));Ca se corse lorsque je veux ajouter un second produit, qui n'est pas le même que le premier, mais qui comportera aussi un champ spécifique.
Je précise que l'ajout du second produit est ok, les montants et les totaux sont ok, la seule chose, c'est que mon champ spécifique est le même (le dernier entré) pour tous les produits du panier.
Voici le code que j'ai intégré et qui lui est exécuté après qu'on ait vérifié qu'un panier existe déjà :
Code : Tout sélectionner
$_SESSION['cart'][$product_id] = array('qty' => $quantity, 'champ_specifique' => $_POST['champ_specifique']);Code : Tout sélectionner
foreach ($_SESSION['cart'] as $product){
print_r($champ_specifique = $product['champ_specifique']);
}Merci d'avance de vos réponses.
Gaëtan