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 :

Produit d'une colonne d'un tableau session.


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 35
    Points
    35
    Par défaut Produit d'une colonne d'un tableau session.
    Bonjour,

    J'ai crée un tableau dans une session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        $_SESSION['Tableau'][] = array (
        "Id" => $_POST['Uid'],
        "Choix1" => $_POST['Choix1'],
        "Choix3" => $_POST['Choix3'],
        "Montant" => $_POST['Cote']);
    Je souhaite connaitre les produit de la colonne montant j'ai donc fait une boucle while :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while($i <= count($_SESSION['Tableau']))
    {
       $ProduitTot = $ProduitTot * $_SESSION['Tableau'][$i]['Montant'];
       $i++;
    }
    En remplaçant le * par un + l'addition se fait correctement mais le résultat de ma multiplication est toujours 0.00.

    Merci d'avance.

  2. #2
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 453
    Points
    453
    Par défaut
    Hey,

    as tu initialisé la variable $ProduitTot à 1 ???

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 35
    Points
    35
    Par défaut
    C'est à dire ?

  4. #4
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 453
    Points
    453
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $ProduitTot = 1;
    $l = count($_SESSION['Tableau']);
    $i = 0;
     
    while($i <= $l)
    {
       $ProduitTot *= $_SESSION['Tableau'][$i]['Montant'];
       $i++;
    }

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 35
    Points
    35
    Par défaut
    Je viens de tester mais le résultat est toujours à 0.00.

  6. #6
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 453
    Points
    453
    Par défaut
    Peux tu poster le résultat de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    var_dump($_SESSION['Tableau']);
    echo '</pre>';
    stp.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 35
    Points
    35
    Par défaut
    Voila :

    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
    array(2) {
      [0]=>
      array(4) {
        ["Id"]=>
        string(5) "14269"
        ["Choix1"]=>
        string(8) "Exemple1"
        ["Choix3"]=>
        string(8) "Exemple2"
        ["Montant"]=>
        string(4) "3.25"
      }
      [1]=>
      array(4) {
        ["Id"]=>
        string(5) "14270"
        ["Choix1"]=>
        string(8) "Exemple3"
        ["Choix3"]=>
        string(8) "Exemple4"
        ["Montant"]=>
        string(4) "3.20"
      }
    }

  8. #8
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 453
    Points
    453
    Par défaut
    bizarre ca devrait marcher

    Pourrais tu poster le code de ton script si il est pas trop long ?

    EDIT :

    et comme ca, en supprimant le = du <= dans la condition de la boucle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $ProduitTot = 1;
    $l = count($_SESSION['Tableau']);
    $i = 0;
     
    while($i < $l)
    {
       $ProduitTot *= $_SESSION['Tableau'][$i]['Montant'];
       $i++;
    }

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 35
    Points
    35
    Par défaut
    ça fonctionne à merveille sans le = je ne comprend pas pourquoi mais c'est impeccable Tesing. Un grand merci pour ton aide.

  10. #10
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 453
    Points
    453
    Par défaut
    Le problème venait des variables non initialisées qui dans le cadre d'opérations de calculs prennent la valeur 0.

    Vu que la boucle s'exécutait une fois de trop le produit total finissait par être multiplié par 0 et prenait donc la valeur 0

    Tu comprendrais mieux si tu affichais toutes les catégories d'erreur de PHP.
    Les variables non initialisées provoquent des erreurs E_NOTICE. Avec la configuration par défaut de PHP elles ne sont pas affichées.

    Si tu ajoutes cette ligne au tout début de ton script les notices s'afficheront :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    error_reporting(E_ALL);

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

Discussions similaires

  1. fixer largeur d'une colonne d'un tableau
    Par clairette dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/03/2007, 14h42
  2. [XSL~FO] Débordement dans une colonne d'un tableau
    Par palmelas dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 29/01/2007, 20h59
  3. [HTML] Pb pour inserer une colonne dans un tableau
    Par cchampion2fr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/11/2006, 11h41
  4. [CR11] Ajouter une colonne a un Tableau croisé
    Par tatayoyo dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/08/2006, 18h03
  5. [vb/excel] suppression d'une colonne d'un tableau
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2005, 10h17

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