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 :

total par membre


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2022
    Messages : 3
    Points : 3
    Points
    3
    Par défaut total par membre
    Bonjour, j'aimerais faire le total des dépenses pour chaque participant mais sa me le fait que pour un user alors qu'un j'en ai 3. Si quelqu'un saurait m'aider svp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function depParId() {
            try {
                $link = \DB\DBLink::connect2db(MYDB, $message);
                $q = $link->query("select sum(montant)
                                            from nodebt_depense
                                            group by uid", PDO::FETCH_ASSOC);
                $result = $q->fetch();
            } catch (Exception $e) {
                $message .= $e->getMessage() . '<br>';
            }
            DBLink::disconnect($link);
            return $result;
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $depParPers = 0;
                $a = $depense->depParId();
                foreach ($a as $as) {
                    $depParPers = $a;
                }
    Nom : Screenshot_6.png
Affichages : 52
Taille : 57,6 Ko
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    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 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    Le SQL a l'ai bon (si ce n'est qu'il faudrait ajouter "uid" au SELECT, sinon tu ne sais pas à qui se rapporte le montant calculé).
    fetch() retourne 1 enregistrement à la fois.
    Le foreach() qui suit boucle en fait sur les colonnes de ce dernier, et non les lignes.

    Pour parcourir tous tes enregistrements tu peux faire un fetchAll()
    => Le tableau obtenu contiendra toutes les lignes résultantes du SQL

    PS : généralement ce n'est pas une bonne idée d'ouvrir/fermer la connexion au serveur de base de données dans une fonction -- sous-entendu à de multiples reprises sur une même page, il vaut mieux ouvrir la connexion en début de script (ou au premier besoin) et laisser la connexion se fermer à la fin de script (ou dès qu'il n'y en a plus besoin).

Discussions similaires

  1. [Wamp] Connexion par membres logué !
    Par dekovince dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 28/03/2007, 18h17
  2. [Cookies] Une page par membre
    Par Knives dans le forum Langage
    Réponses: 8
    Dernier message: 26/06/2006, 16h19
  3. Réponses: 1
    Dernier message: 15/11/2005, 15h01
  4. [CR8.5] Total par catégorie
    Par sperron dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 21/02/2005, 11h00
  5. [CR] Sous Total par page
    Par adrien_78 dans le forum SAP Crystal Reports
    Réponses: 16
    Dernier message: 19/01/2005, 12h29

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