IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Panier et affichage du Panier dans un fichier PHP Commande


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Par défaut Panier et affichage du Panier dans un fichier PHP Commande
    Bonjour,

    Je suis étudiant et j'ai un exercice à faire, hélas je suis bloqué depuis longtemps sur un problème que je n'arrive à résoudre .

    J'arrive à ajouter une référence d'un article que je prends depuis ma base de données SQL dans mon "panier.php" grâce à un bouton de type" input submit" et que je l'afficher dans mon fichier "commande.php". Pour le premier article il n'y a pas de problèmes, mais lorsque je souhaite ajouter un deuxième article, mon premier article est écrasé par le deuxième et ainsi de suite. Le tout que je voudrai afficher dans un tableau.

    commande.php
    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
     
    <?php
    	session_start();
    ?>
    <table  width="95%" border="1" cellspacing="0" cellpadding="4">
    <tr>
    	<td align="center"> <b> Ref </b></td>
    	<td align="center"> <b> Désignation </b></td>
    	<td align="center"> <b> Prix Unit. </b></td>
    	<td align="center"> <b> Quantité </b></td>
    	<td align="center"> <b> Montant </b></td>
    </tr>
    <?php	
     
    	for($i=1;$i<=(count($_SESSION["reference"]));$i++)
    	{
    		echo '<tr>
    		  <td align="center">'.$_SESSION["reference"][$i].'</td>
    		  <td align="center">'."pdt_designation".'</td>
    		  <td align="center">'."pdt_prix".' €</td>
    		  <td align="center"> '.$_SESSION["quantite"][$i].'</td>
    		  <td align="center">'.$_SESSION["quantite"][$i]. '€</td>
    		</tr>';
    	}
    ?>
    </table>
    panier.php
    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
     
    <?php
    	session_start();
    ?>
    <!DOCTYPE html>
    <html>
    	<body>
    	<?php
    		switch($_GET["action"])
    		{
    			case "Ajouter au panier":
    				$i=count($_SESSION["reference"]);
    				$_SESSION["reference"][$i]=$_GET["refPdt"];
    				$_SESSION["quantite"][$i]=$_GET["quantite"];
    				break;
    			case "Vider le panier":
    				$_SESSION["reference"]="";
    				$_SESSION["quantite"]="";
    				echo 'Panier vide';
    				break;
    		}
    		header("Location: menu.php");
    	?>
    	</body>
    </html>
    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par défaut
    pour débuguer ce genre de problème, affichez le contenu des variables et regardez à partir de quel endroit elles ne contiennent pas ce que vous souhaitez.

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu ne nous montres ni le formulaire ni l'écriture dans la base de données alors c'est difficile de te répondre.
    Cependant ta façon de manier les tableaux PHP n'est pas orthodoxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=1;$i<=(count($_SESSION["reference"]));$i++)
    On ne commence pas à 1 mais à 0 et d'ailleurs on utilise foreach() pour ne pas avoir à gerer les index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($_SESSION["reference"] as $i=>$values)
    Si tu commences à 1, ton count() vaut 1 et donc effectivement ta va toujours rester sur $i = 1 dans ajouter au panier.
    Mais encore une fois, ne gère pas les index à la main ; en plus si tu supprimes des éléments de ton tableau (retirer un article), ton count() ne correspondra plus à la position de ton index.
    Utilise l'indexation automatique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    case "Ajouter au panier":
    		$_SESSION["reference"][]=$_GET["refPdt"];
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Par défaut
    C'est bon cela fonctionne à merveille ! merci énormément à vous deux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [BASH] Affichage et écriture dans un fichier
    Par TheGzD dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 04/05/2011, 11h53
  2. affichage de donnée dans un fichier ASCII
    Par khayate dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/06/2007, 15h21
  3. Affichage de données dans un fichier text
    Par ymadeleine dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/03/2007, 09h48
  4. affichage de donnée dans un fichier
    Par donny dans le forum Langage
    Réponses: 1
    Dernier message: 19/10/2006, 17h08
  5. Réponses: 1
    Dernier message: 22/12/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo