Pas de choix multiple dans le panier
bichou91
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
bichou91 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
bichou91 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
bonjour,
j'ai un souci avec mon panier, quand je fait mon premier tous ce passe bien, par contre le deuxieme ne se positionne pas en dessous du premier choix..
le premier s'efface et le deuxieme se met à la place.
merci d avance
j'ai un souci avec mon panier, quand je fait mon premier tous ce passe bien, par contre le deuxieme ne se positionne pas en dessous du premier choix..
le premier s'efface et le deuxieme se met à la place.
foreach($catalogue as $cle => $catalogues){ if (isset($_SESSION['panier'])) $_SESSION['panier'] = array(); // Voici les données externes utilisées par le panier $id_article = isset($_GET['id_article']) ? $_GET['id_article'] : true; $img_article = isset($_GET['img']) ? $_GET['img'] : true; $nom_article = isset($_GET['title']) ? $_GET['title'] : true; $desc_article = isset($_GET['desc']) ? $_GET['desc'] : true; $prix_article = isset($_GET['prix']) ? $_GET['prix'] : '?'; $qte_article = isset($_GET['qte']) ? $_GET['qte'] : header("Location: [http://localhost/project_val_bis/page_principal/livres.php]"); // Voici les traitements du panier if ($id_article == null) echo 'Veuillez sélectionner un article pour le mettre dans le panier!'; // Message si pas d'acticle sélectionné else if (isset($_SESSION['panier'])){// Ajouter un nouvel article $_SESSION['panier'][$id_article]['img'] = $img_article; $_SESSION['panier'][$id_article]['title'] = $nom_article; $_SESSION['panier'][$id_article]['desc'] = $desc_article; $_SESSION['panier'][$id_article]['prix'] = $prix_article; $_SESSION['panier'][$id_article]['qte'] = $qte_article; } else if (isset($_GET['modifier'])) $_SESSION['panier'][$id_article]['qte'] = $qte_article; // Modifier la quantité achetée else if (isset($_GET['supprimer'])) unset($_SESSION['panier'][$id_article]); // Supprimer un article du panier // Voici l'affichage du panier echo '<h2>Contenu de votre panier</h2><ul>'; if (isset($_SESSION['panier']) && count($_SESSION['panier'])>0){ $total_panier = 0; foreach($_SESSION['panier'] as $id_article=>$article_acheté){ // On affiche chaque ligne du panier : nom, prix et quantité modifiable + 2 boutons : modifier la qté et supprimer l'article if (isset($article_acheté['img']) && isset($article_acheté['title']) && isset($article_acheté['desc'])&& isset($article_acheté['prix'])&& isset($article_acheté['qte'])){ echo '<li style="display:inline-block;list-style:none;"><form><img style="float:left;padding-right:.5em;" src="'.$article_acheté['img'].'" width="100" height="140" alt="" />', $article_acheté['title'], $article_acheté['desc'], ' (', number_format($article_acheté['prix'], 2, ',', ' '), ' €) ', '<input type="hidden" name="id_article" value="', $id_article , '" /> <br /> <br />Qté: <input type="text" name="qte_article" value="', $article_acheté['qte'] , '" /> <input type="submit" name="modifier" value="Nouvelle Qté" /> <input type="submit" name="supprimer" value="Supprimer" /> </form> </li>'; // Calcule le prix total du panier $total_panier += $article_acheté['prix'] * $article_acheté['qte']; } } echo '<hr><h3>Total: ', number_format($total_panier, 2, ',', ' '), ' €'; // Affiche le total du panier } else { echo 'Votre panier est vide'; } // Message si le panier est vide echo "</ul>"; }
merci d avance
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Pas de choix multiple dans le panier
- Excel cellule choix multiple - Guide
- Ecran multiple pc - Guide
- Copier coller multiple - Guide
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- Liste déroulante choix multiple excel sans vba ✓ - Forum Excel
2 réponses
Bonjour,
ton code est un peu bordelique je trouve... mais bon.
Pour commencer... d'où vient la variable $catalogue et que contient-elle ?
ensuite.. pour récupérer proprement les variables GET il est préférable de le faire avec !empty au lieu de isset
Il faudrait aussi revoir ta façon d'écrire tes IF/else....
Comme le préconise (ce n'est pas une obligation mais ça rend le code plus lisible) la norme PSR-2 ( voir ici chapitre 5 : https://www.php-fig.org/psr/psr-2/ ... un bloc IF s'écrit :
N'hésites pas non plus à utiliser des ECHO ou des PRINT_R (ou des var_dump) pour afficher le contenu des tes différentes variables et essayer de comprendre où ça bloque.
Pour finir..
merci de reposter ton code (en ayant tenu compte de mes remarques) et en t'appliquant sur la mise en forme (utilisation des balises de code et indentation) histoire qu'on puisse facilement lire ton code.
ton code est un peu bordelique je trouve... mais bon.
Pour commencer... d'où vient la variable $catalogue et que contient-elle ?
ensuite.. pour récupérer proprement les variables GET il est préférable de le faire avec !empty au lieu de isset
$id_article = !empty($_GET['id_article']) ? $_GET['id_article'] : null;
Il faudrait aussi revoir ta façon d'écrire tes IF/else....
Comme le préconise (ce n'est pas une obligation mais ça rend le code plus lisible) la norme PSR-2 ( voir ici chapitre 5 : https://www.php-fig.org/psr/psr-2/ ... un bloc IF s'écrit :
if ($expr1) { // if body } elseif ($expr2) { // elseif body } else { // else body; }
N'hésites pas non plus à utiliser des ECHO ou des PRINT_R (ou des var_dump) pour afficher le contenu des tes différentes variables et essayer de comprendre où ça bloque.
Pour finir..
merci de reposter ton code (en ayant tenu compte de mes remarques) et en t'appliquant sur la mise en forme (utilisation des balises de code et indentation) histoire qu'on puisse facilement lire ton code.