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 :

ajouter une ligne dans un tableau comprenant 2 éléments envoyés par un formulaire


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut ajouter une ligne dans un tableau comprenant 2 éléments envoyés par un formulaire
    Je fais un projet de site e_commerce, et quand on clique sur "ajouter" pour ajouter un produit, le formulaire envoie l'id et la quantité de produits à acheter, le formulaire est envoyé par la méthode post.

    Je veux avoir un tableau dans une variable de session pour enregistrer l'id et la quantité de chaque produit ajouté.
    Mon tableau doit contenir plusieurs produits,donc plusieurs lignes et ne sais pas comment faire, chaque fois que j'ajoute un nouveau produit, il écrase le précédent, et mon tableau ne comprend toujours qu'un seul produit.

    merci beaucoup de votre aide, j'ai tout essayé (sauf la bonne solution), mais continue à ramer!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $id=$_POST['id'];
    $quantite=$_POST['quantite'];
     
    $_session['id'] =$id;
    $_session['quantite'] = $quantite;

  2. #2
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 153
    Points
    153
    Par défaut
    bonjour je débute un peux mais essaye un truc du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $i=0;
    $j=0;
    $id=$_POST['id'];
    $quantite=$_POST['quantite'];
     
    $_session[$i] =$id;
    $_session[$j] = $quantite;
    $i++;
    $j++;
    ensuite pour afficher il te suffit de boucler comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ($i=0;$i<$nbre d'articles;$i++){
    echo $_session[$i];
    }

  3. #3
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    Personnellement, je pense que tu devrais faire comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // d'abord tu verifie si ta variable de session n'existe pas
    if(!isset($_SESSION['panier']){
      $_SESSION['panier'] = array();
    }
    Ensuite, lorsque tu ajoute un produit dans ton panier tu fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['panier'][] = array('id'=>id_du_produit,'quantité'=>qte);
    Comme ça pour vider ton panier il te suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['panier'] = array();
    Cette solution est juste un exemple, il faut faire plus de controle lors de l'ajout d'une produit, comme par exemple verifie si le produit n'est pas déja present dans la panier et comme ça juste mettre a jour ça quantité et pas ajouter une nouvelle dans le panier

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut merci
    Merci beaucoup a tous les deux, enfin je vais faire avancer mon projet.
    Une question encore s'il vous plaît :
    que signifie les [] après $_SESSION['panier']

    Merci
    Alexchat

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    le [] a la fin d'un tableau, veut dire que ça ajoute le contenu à la fin du tableau après le dernière élément

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut $_SESSION['panier'][] ne marche pas
    Bonjour,
    Merci pour ta précision,
    mais, je n'arrive toujours pas à avoir une 2éme ligne dan ma variable de session,
    pourtant j'écris bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['panier'][] = array('id'=>id_du_produit,'quantité'=>qte);
    Est-ce parce que je dois modifier quelque chose dans php.ini (auquel en tant que débutant je n'ai jamais toucher ?)

    Merci, en espérant y arriver !

    Alexchat

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut afficher le contenu du panier avec foreach
    Bonjour,
    en fait, mon probleme n'est peut être pas la,
    pour le moment j'essaye de voir ce qu'il y a dans $_session['panier'] avec une boucle foreach,
    mais je n'arrive pas à en trouver la syntaxe exacte, et n'arrive pas pas à afficher le contenu de mon tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $_SESSION['panier'][] = array('id'=>$id_du_produit,'quantité'=>$qte);
     
    //Affichage du tableau
    foreach ($_SESSION['panier'][] as $id_du_produit){
    echo "valeur: id_du_produit<br>\n";
    Merci beaucoup pour votre aide.

    Alexchat

  8. #8
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 153
    Points
    153
    Par défaut
    bonjour,

    ce n'est pas plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "valeur: $id_du_produit<br>\n";

  9. #9
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($_SESSION['panier'] as $produit) {
      echo $produit['id'], ' (', $produit['quantité'], ')';
    }

  10. #10
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par alexchat Voir le message
    je n'arrive toujours pas à avoir une 2éme ligne dan ma variable de session,
    pourtant j'écris bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['panier'][] = array('id'=>id_du_produit,'quantité'=>qte);
    Bonjour,

    Tu peux vérifier ce qu'il y a dans le tableau $_SESSION avant d'y ajouter un article avec l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    var_dump($_SESSION);
    echo '</pre>';
    Ca te permettra déjà de vérifier si tu as bien enregistré les articles dans une session.

    Si ce n'est pas le cas, est-ce que tu as bien démarré une session avec session_start() ?

    Je te conseille la lecture des tutoriels sur les sessions que tu trouveras sur ce site :
    http://php.developpez.com/cours/sessions/
    http://beaussier.developpez.com/articles/php/session/

Discussions similaires

  1. Ajouter une ligne dans un tableau HTML
    Par grialat dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2013, 16h11
  2. ajouter une ligne dans un tableau et afficher la valeur d'une variable
    Par dede94 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/05/2010, 17h24
  3. Ajouter une ligne dans un tableau
    Par kenru dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/10/2009, 16h10
  4. Réponses: 1
    Dernier message: 12/12/2008, 17h06
  5. [vb6] Ajouter une ligne dans un tableau excel
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2006, 16h41

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