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 :

$_SESSION additionner les valeurs d'un tableau


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 8
    Points : 4
    Points
    4
    Par défaut $_SESSION additionner les valeurs d'un tableau
    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
    //On construit un tableau contenant les informations de l'article, qui seront sauvegardées dans le panier
            $tableau = array(
            "nom"      => $resultProduct["productDetails"],
            "code"     => 1525,
            "prix"     => $prixProduit,
            "quantite" => $quantite
            );
     
    	//.. récupération de l'article
            //on regarde si le produit est déjà existant. 
            //mise à jour, puisque le produit est déjà présent
            $_SESSION["panier"][$resultProduct["productNumber"]][$quantite]++;
    		//sinon, on initialise le panier et on ajoute le produit.
            //$_SESSION["panier"] = array();;
            }else {
            $_SESSION["panier"] = array();
            $_SESSION["panier"][$resultProduct["productNumber"]] = $tableau;
            }
    Les prix dans quantite ne s'additionne pas il se met un en dessus de l'autre

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Ton script et ses bouts de if/else est incomplet.
    Et tu ne donnes pas de valeurs en guise d'exemple.
    Ex. que vaut $quantite ? Un incrément ? Une nouvelle quantité qui écrase l'ancienne ?

    En tout cas, ceci me semble incorrect :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION["panier"][$resultProduct["productNumber"]][$quantite]++;
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    $prixProduit, $quantite,$resultProduct["productDetails"] vient de la vérification de la base de donnée
    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
            //On construit un tableau 
            $tableau = array(
            "nom"      => $resultProduct["productDetails"],
            "code"     => 1525,
            "prix"     => $prixProduit,
            "quantite" => $quantite
            );
     
    		//.. récupération de l'article
            //on regarde si le produit est déjà existant. On pourrait utiliser des fonctions pour manipiler des tableaux en PHP également
            if(isset($_SESSION["panier"][$resultProduct["productNumber"]])){
            //mise à jour, puisque le produit est déjà présent
            $_SESSION["panier"][$resultProduct["productNumber"]][$quantite]++;
    		//sinon, on initialise le panier et on ajoute le produit.
            }else {
            $_SESSION["panier"] = array();
            $_SESSION["panier"][$resultProduct["productNumber"]] = $tableau;
            }
    le code fonctionne juste a la fin rien j ai 3 quantite au lieux de 1
    Nom : exemple.jpg
Affichages : 90
Taille : 48,2 Ko

  4. #4
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Vérification faite et fonctionnel
    $productNumber = est numéro de item dans base de donnée.
    $prixProduit = est le prix dans base de donnée
    $quantite viens du formulaire du client c'est la quantité .

    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
    $productNumber = $resultProduct["productNumber"];		
    			//On construit un tableau
    		$tableau = array(
            "details"      => $productNumber,
            "prix"   => $prixProduit,
            "quantite" => $quantite
            );
     
    		if(isset($_SESSION["panier"]["$productNumber"])) {
    			//mise à jour, puisque le produit est déjà présent
                $_SESSION["panier"]["$productNumber"]["$quantite"]++;
    		}else {
    			 $_SESSION["panier"]["$productNumber"] = $tableau;
    			//$_SESSION["panier"]["quantite"] = array();
                  // $_SESSION['panier'][$article['article_id']] = $tableau;
            // .. comme fait précédemment.
    		}
    Le code fonctionne mais pour l'incrémentation rajoute en int(10) au lieu de changer "quantite" dans le $_SESSION["quantite"].
    Nom : exemple.jpg
Affichages : 77
Taille : 52,9 Ko

  5. #5
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 8
    Points : 4
    Points
    4
    Par défaut me manque l'incrématation pour que mes quantités s'additionne ensemble
    il me manque l'incrématation pour que mes quantités s'additionne ensemble
    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
    27
    28
    29
    30
    31
    if(isset($resultProduct["productNumber"])){
     
    		    if(isset($_SESSION["panier"])){
     
    			$session_array_id = array_column($_SESSION["panier"], "id");
     
    			if(!in_array($resultProduct["productNumber"], $session_array_id)){
     
    				$session_array = array(
    			    "id" => $resultProduct["productNumber"],
    			    "description" => $resultProduct["productDetails"],
    			    "price" => $prixProduit,
    			    "quantity" => $quantite
    			    );
     
    				$_SESSION["panier"][] = $session_array;
    			}
     
    		    }else {
     
    			    $session_array = array(
    			    "id" => $resultProduct["productNumber"],
    			    "description" => $resultProduct["productDetails"],
    			    "price" => $prixProduit,
    			    "quantity" => $quantite
    			    );
     
    			    $_SESSION["panier"][] = $session_array;
     
                }
    		}
    Voici une image qui montre le code fonctionne sauf pour incrémentation fais 2 semaine je suis dessus
    Nom : exemple.jpg
Affichages : 67
Taille : 94,7 Ko

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 292
    Points : 15 608
    Points
    15 608
    Par défaut
    Citation Envoyé par dereck1979 Voir le message
    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
    $productNumber = $resultProduct["productNumber"];		
    			//On construit un tableau
    		$tableau = array(
            "details"      => $productNumber,
            "prix"   => $prixProduit,
            "quantite" => $quantite
            );
     
    		if(isset($_SESSION["panier"]["$productNumber"])) {
    			//mise à jour, puisque le produit est déjà présent
                $_SESSION["panier"]["$productNumber"]["$quantite"]++;
    		}else {
    			 $_SESSION["panier"]["$productNumber"] = $tableau;
    			//$_SESSION["panier"]["quantite"] = array();
                  // $_SESSION['panier'][$article['article_id']] = $tableau;
            // .. comme fait précédemment.
    		}
    dans ce code je pense qu'il faudrait plutôt faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $_SESSION["panier"][$productNumber]["quantite"]++;

  7. #7
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2021
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Désoler même avec ton code ca ne fonctionne pas
    Désoler même avec ton code ca ne fonctionne pas
    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
    27
    28
    29
    30
    31
    array(4) {
      ["quantite"]=>
      array(0) {
      }
      ["EV451BC"]=>
      array(3) {
        ["details"]=>
        string(7) "EV451BC"
        ["prix"]=>
        string(6) "146.00"
        ["quantite"]=>
        int(12)
      }
      ["EV351BC"]=>
      array(3) {
        ["details"]=>
        string(7) "EV351BC"
        ["prix"]=>
        string(6) "125.00"
        ["quantite"]=>
        int(51)
      }
      ["FL341BP"]=>
      array(3) {
        ["details"]=>
        string(7) "FL341BP"
        ["prix"]=>
        string(6) "241.00"
        ["quantite"]=>
        string(2) "50"
      }
    Quand j'entre le montant pour la première fois c'est correct comme le dernier article dans le tableau quand j'entre pour une deuxième fois il change pour int(51).

Discussions similaires

  1. [MySQL] problème avec $_SESSION[numrows]
    Par edwithenwisdom dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/04/2012, 08h56
  2. Problème avec $_SESSION.
    Par dimitri13 dans le forum Langage
    Réponses: 7
    Dernier message: 27/02/2011, 19h17
  3. [CS3] Problème d'instal ! help please
    Par Jerome_G dans le forum Dreamweaver
    Réponses: 8
    Dernier message: 27/02/2009, 09h35
  4. problème avec $_session
    Par gpsevasion dans le forum Langage
    Réponses: 2
    Dernier message: 22/01/2007, 12h05
  5. [Sécurité] Problème avec $_SESSION
    Par zako dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2006, 09h07

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