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 :

Faire la somme de tous les resultats [PDO]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut Faire la somme de tous les resultats
    Bonjour,

    Je débute avec PDO, et j'ai une requête assez longue qui me retourne plusieurs résultats sous forme d'objet et j'aimerais additionner ses résultats. J'ai pensé à SUM() mais cela ne fonctionnera pas dans mon cas, j'ai chercher un peu partout sans trouver une piste de réponse peut être aurait vous une idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    $gains  = $DB->query("SELECT * from gains, users WHERE users.email_parrain =:email AND users.id = gains.user_id",array('email'=>$_SESSION['user']['email']));?>
     
    <?php foreach ($gains as $gain): 
     
    $mongain= $gain->gain_parrain;
     
    echo $mongain;
     
    ?>
     
    <?php endforeach ?>
    ici la variable $mongain affiche bien le résultat mais j'aimerais trouver un moyen pour additionner tout ces résultats.

    Pour info voici comme je prépare ma requête via un fichier en include :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function query($sql , $data=array()){
    		$req = $this->connexion->prepare($sql);
    		$req->execute($data);
    		return $req->fetchAll(PDO::FETCH_OBJ); 
    	}
    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,

    pourquoi le SUM ne fonctionnerais pas dans votre cas ?

    S'il vous faut les informations des gains en plus de la somme total il faudra alors faire le calcul en PHP avec pour chaque tour de boucle un adition du gain courant + le total déjà calculé.
    une réponse vous a permis d'avancer ?

  3. #3
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Bonjour,

    Citation Envoyé par thecatz Voir le message
    ici la variable $mongain affiche bien le résultat mais j'aimerais trouver un moyen pour additionner tout ces résultats.
    En 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
    <?php
     
    $gains  = $DB->query("SELECT * from gains, users WHERE users.email_parrain =:email AND users.id = gains.user_id",array('email'=>$_SESSION['user']['email']));?>
     
    $mongain = 0;
    <?php foreach ($gains as $gain): 
     
    $mongain += $gain->gain_parrain;
     
    echo $mongain;
     
    ?>
     
    <?php endforeach ?>
    Sinon normalement rien n'est impossible en SQL ou alors ta base de donnés a été mal conçu.
    Est-ce que tu peux nous donner un peux plus de détails sur les tables et la requêtes que tu souhaite effectué ?

    En utilisant SUM(gain_parain) cela ne fonctionne pas ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    Merci pour votre aide, en faite j'avais pas pensé du tout à += et cela marche parfaitement.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Mouais... la meilleure solution reste quand même SUM(), dommage que tu ais choisi l'autre.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. [MySQL] Faire une recherche sur tous les champ commencant par ..
    Par bullrot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2008, 11h45
  2. Calculer la somme de tous les champs texte
    Par Maroxye dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/06/2008, 14h32
  3. COmment faire une recherche dans tous les dossiers
    Par Djohn dans le forum Outlook
    Réponses: 2
    Dernier message: 28/06/2007, 19h27
  4. Réponses: 18
    Dernier message: 22/06/2006, 17h55
  5. faire somme de tous les enregistrements identiques
    Par Keraccess dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/07/2005, 11h03

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