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

PHP & Base de données Discussion :

Récupération d'une valeur d'une page vers une autre [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 80
    Points
    80
    Par défaut Récupération d'une valeur d'une page vers une autre
    bonsoir,

    je ne comprends pas pourquoi, je n'arrive pas à insérer dans ma table et donc ensuite à faire apparaître les données.
    j'ai une page "panier.php" qui affiche l'article sélectionné depuis la fiche article.
    Là tout va bien, j'ai absolument toutes mes données.
    Lorsque je clique sur commander, j'affiche la page "commande.php" avec les infos provenant du panier à l'exception de la première qui est mon code article (isbn) de type "ABCDEF0000" et la désignation qui est du texte.
    Ma commande s'enregistre bien, mais dans la BD la table "listes" qui récupère les lignes de commandes, le champ référence=isbn est vide, ainsi que le champ "designation".
    Quelqu'un peut il m'aider sur ce point ?
    voici le code
    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
    //----AJOUT PANIER de la page PANIER.PHP
     
    if ($ajoutPanier=="AJOUTER")
    {
    	$isbn=$_GET['isbn'];
    	$nb=1; //par défaut la quantité est = 1
    	$prix_ttc=$_GET['prix_ttc'];
    	$longueur=$_GET['longueur'];
    	$largeur=$_GET['largeur'];
    	$couleur=$_GET['couleur'];
    	$designation=$_GET['designation'];
    	$liste[]=array($isbn,$nb,$prix_ttc,$prix_ttc,$longueur,$largeur,$couleur,$designation);
    	$_SESSION['liste']=$liste;
    	//ajoute un article à la liste
    }
    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
    mysql_select_db($database_artistick, $artistick);
    $insertCommande="INSERT INTO commandes(date, clientID, total)VALUES (NOW(),'$clientID','$total')";
    $result1=mysql_query($insertCommande, $artistick)or die(mysql_error());
    $commandeID=mysql_insert_id();//récupère l'identifiant client attribué
    //récupération des articles et quantité et enregistrement dans la table listes
    for($i=0;$i<count($liste);$i++)
    {
    //début fu for
    $isbn=$liste[$i][0];// récup de la ref de l'article dans le panier
    $quantite=$liste[$i][1];// récup de la quantité de cet article dans le panier
    $prixArticle=$liste[$i][2];//récup du prix total de ces articles (nb*prix unitaire)dans le panier
    $longueur=$liste[$i][4];// récup de la longueur de l'article dans le panier
    $largeur=$liste[$i][5];// récup de la largeur de l'article dans le panier
    $designation=$liste[$i][6];// récup de la désignation de l'article dans le panier
    //insertion des parametres des articles
    //de la commande
    $insertListe="INSERT INTO listes(commandeID, isbn, quantite, prixArticle, longueur, largeur, designation) 
    VALUES('$commandeID', '$isbn', '$quantite','$prixArticle', '$longueur','$largeur', '$designation')";
    $Result1=mysql_query($insertListe, $artistick) or die(mysql_error());
    }//fin du for
    Je pense que tout le problème vient de ces lignes de code
    J'avoue que je tourne en rond et ne vois plus rien du tout !
    A l'aide !
    d'avance merci pour vos idées
    Françoise

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    faudrait que tu nous mettes le code qui permet de valider le panier et d'ouvrir commande.php
    Dans panier php, rajouter un var_dump($liste) pour voir si tes infos sont toutes présentes et de meme dans commande.php pour voir si liste est bien récupéré.

    Je continue à regarder ton code, si je trouve quelque chose je te le dis.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    dans commande.php, faudrait faire un $liste=$_SESSION['liste'] déjà (je sais pas si tu as oublié de le mettre).

  4. #4
    Membre régulier
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 80
    Points
    80
    Par défaut $_SESSION['liste']
    en fait il existe dans la déclaration des variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //------------Initialisation des variables 
    if (!isset($_GET['commandeID'])) $_GET['commandeID']=0;
    if (!isset($_SESSION['statut'])) $statut="NON IDENTIFIE";
    else $statut=$_SESSION['statut'];
    if (!isset($_SESSION['action'])) $action="";
    else $action=$_SESSION['action'];
    if (!isset($_SESSION['liste'])) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
    else $liste=$_SESSION['liste'];//recup de la liste de la session
    if (!isset($_SESSION['total'])) $total=0;
    else $total=$_SESSION['total'];
    if (!isset($_SESSION['clientID'])) $clientID=0;
    else $clientID=$_SESSION['clientID'];
    //-----------------------------------------------------
    je pense que ce que tu entends par validation du panier correspond à ce morceau de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //-------------------------------enregistrement d'une nouvelle commande dans la table des commandes
    if ($action=="ENREGISTRER")
    {
    mysql_select_db($database_artistick, $artistick);
    $insertCommande="INSERT INTO commandes(date, clientID, total)VALUES (NOW(),'$clientID','$total')";
    $result1=mysql_query($insertCommande, $artistick)or die(mysql_error());
    $commandeID=mysql_insert_id();//récupère l'identifiant client attribué
    Voici celui qui permet d'ouvrir "commande.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //----COMMANDER
    if ($enregistreCommande=="COMMANDER")
    {
    	if(!isset($_GET['action'])) 
    	$_SESSION['action']="ENREGISTRER";//mémorise l'action 
    	header("Location: commande.php");
    }
    est ce bien cela que tu attends ?

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    et les var_dump , ils te semblent bons?

  6. #6
    Membre régulier
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 80
    Points
    80
    Par défaut var_dump
    bien,
    je ne connais pas ça !!!
    je débute en php
    dans l'exemple dont je me sers "php/mysql avec Dreamweaver8" de JM DEFRANCE, il n'y a rien de cela dans le code
    où doit on insérer ce code et comment ?
    j'avoue que je sèche lamentablement sur ce coup
    peut être as tu une explication claire à me fournir ?
    A+
    merci pour ton aide

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    alors essaie de faire ceci:
    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
     
    if ($ajoutPanier=="AJOUTER")
    {
    	$isbn=$_GET['isbn'];
    	$nb=1; //par défaut la quantité est = 1
    	$prix_ttc=$_GET['prix_ttc'];
    	$longueur=$_GET['longueur'];
    	$largeur=$_GET['largeur'];
    	$couleur=$_GET['couleur'];
    	$designation=$_GET['designation'];
    	$liste[]=array($isbn,$nb,$prix_ttc,$prix_ttc,$longueur,$largeur,$couleur,$designation);
    	$_SESSION['liste']=$liste;
    var_dump($liste);	
    //ajoute un article à la liste
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    mysql_select_db($database_artistick, $artistick);
    $insertCommande="INSERT INTO commandes(date, clientID, total)VALUES (NOW(),'$clientID','$total')";
    $result1=mysql_query($insertCommande, $artistick)or die(mysql_error());
    $commandeID=mysql_insert_id();//récupère l'identifiant client attribué
    //récupération des articles et quantité et enregistrement dans la table listes
    var_dump($liste);
    for($i=0;$i<count($liste);$i++)
    {
    //début fu for
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //----COMMANDER
    if ($enregistreCommande=="COMMANDER")
    {
    	if(!isset($_GET['action'])) 
    	$_SESSION['action']="ENREGISTRER";//mémorise l'action 
            var_dump($liste);
    	//header("Location: commande.php");
     
    }
    var_dump est une commande qui permet d'afficher le contenu d'une variable à l'écran pour simplifier. Ca aide pas mal pour debugger et connaitre le contenu de ses variables au fur et à mesure du code.

    Vérifie donc si les var_dump te montre une variable liste correctement renseignée, des que liste ne contiendra plus tes variables isbn, tu pourras le voir et localiser la partie de ton code qui fait planter le truc.

  8. #8
    Membre régulier
    Femme Profil pro
    retraitée
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : retraitée

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 80
    Points
    80
    Par défaut VAR_DUMP REUSSI !
    bonjour Raideman !

    Merci beaucoup pour ton aide, j'ai testé à midi le Var_dump et ai pu comprendre où résidaient mes problèmes. Cela commençait dès la fiche produit... ils manquaient quelques paramètres dans le lien qui passait vers le panier, j'ai pu comprendre grâce à ce code; ensuite il y avait un problème au niveau de la numérotation des colonnes pour affectation à la base de données. bref rien de méchant, mais quand on ne connaît pas trop, alors on galère !
    Je te remercie beaucoup pour ton aide et tes explications.
    mais j'ai un autre souci !
    pour plus de clarté dans le forum je vais ouvrir une autre discussion
    Françoise

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 05/02/2015, 11h26
  2. Réponses: 4
    Dernier message: 18/08/2014, 12h21
  3. [XL-2000] Remplir une valeur dans cellule à partir d'une valeur precise d'un fichier texte
    Par cactus666 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 10h31
  4. Réponses: 22
    Dernier message: 04/09/2006, 12h53

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