probleme d'accolades

Petit nouveau ! | 7 Messages

12 déc. 2019, 13:31

Bonjour à tous.
Je suis sur le point de finaliser ce petit programme de gestion d'un panier.
Une page doit lister les produits et permettre de les ajouter au panier.
Le panier liste les produits sélectionnés et affiche le montant total.
Ce panier doit être sauvegarder durant 15 jours.
la page index affiche mes articles. Je créer mon cookie (tableau + sérialisation)
c'est au moment de l'affichage que j'ai un gros souci
Je veut que si l'utilisateur clique sur le produit A (par exemple) celui ci s'ajoute autant de fois que l'utilisateur aura cliqué de fois dessus.
et mon programme ne l'affiche qu'une seule fois.
D’où mon appelle à l'aide.

INDEX.PHP

Code : Tout sélectionner

<?php require ('connexion.php'); ?> <h3>Nos produits :</h3> <!-- Le formulaire va récuperer les informations dans la base de donné et affiché toute les lignes possible sur deux colones --> <?php $result = $mysqli->query('SELECT produit_id, produit_nom, prix FROM produits'); while ($data = $result->fetch_array()) { ?> <li><a href="cookie.php?id=<?php echo $data['produit_id'] ?>"><?php echo $data['produit_nom']?> <?php echo $data['prix'] ?>€</a></li> <?php echo"</tr>"; }
COOKIE.PHP

Code : Tout sélectionner

<?php require('connexion.php'); ?> <?php $cookie_achat = $_GET['id']; //recuperation de la variable externe if (!isset($_COOKIE['panier']))// si le cookie n'est pas renseigné { echo "à creer si le cookie n'existe pas"; $tableau_panier[]= $cookie_achat;// création du tableau "$tableau_panier" sous forme de variable avec la valeur de $cookie_achat $tab_panier = serialize($tableau_panier) ; //serialisation du tableau sous setcookie ('panier', $tab_panier, time()+1296000);// le cookie "panier" prend la valeur $tab_panier, durée de vie 15 Jours 1296000)--> } else { echo "le cookie existe deja"; $tableau_panier = unserialize($_COOKIE['panier']); // deserialisation du tablea $tableau_panier[] = $cookie_achat; //ajout des nouvelles donées au anciennes dans le cookie $tab_panier = serialize($tableau_panier) ; //serialisation du tableau sous setcookie ('panier', $tab_panier, time()+1296000);// le cookie "panier" prend la valeur $tab_panier, durée de vie 15 Jours 1296000)--> } foreach ($tableau_panier as $articles) { // Récupération des éléments nom et prix par filtrage sur l'ID $result = $mysqli->query('SELECT produit_id, produit_nom, prix FROM produits WHERE produit_id = '. $articles); while ($row = $result->fetch_array()) $produits[$row['prix']] = $row['produit_nom'];//affiche qu'une fois } $total_amount = 0; // initialisation de la variable de calcule foreach ($produits as $prix => $select_nom): $total_amount += $prix; // addition du prix coréspondant ?> <!-- Récupération des informations et affichage --> <table border="1"> <tr> <td width='180px' align=center>nom du produit</td> <?php echo"<td width='180px' align=center>".$select_nom."</td>"; ?> <td width='80px' align=center>prix en € </td> <?php echo"<td width='80px' align=center>".$prix."</td>";?> </tr> </table> <p> <h3>Le montant total était de <?php echo $total_amount; ?> €</h3> </p> </div> <?php endforeach ?> Merci d'avance à toute les bonne volontés . Moi je vais avaler du dolipran

Mammouth du PHP | 1967 Messages

12 déc. 2019, 15:13

calcul ton total dans ta boucle précédente

ton tableaux $produits n'a pas de sens, car si 2 produits ont le même prix le deuxième écrasera le premier.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Petit nouveau ! | 7 Messages

13 déc. 2019, 11:25

merci spols.
Bien vue.
j'avance