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 :

pb requête SUM [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut pb requête SUM
    Bonjour à tous,

    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
    <?php
                        // si bouton rechercher et collaborateur bien sélectionné dans la liste déroulante
                        if(isset($_POST['rechercherPersonne']) AND isset($_POST['nomPrenomAppelant'])){
                                $nomPrenomAppelant=$_POST['nomPrenomAppelant'];
     
                                // connaître la durée totale de communication d'une personne
                                $rechercherPersonne = $bdd->prepare("SELECT SEC_TO_TIME(SUM(TIME_TO_SEC('dureeAppel')))
                                                                    AS personneTotaleAppel FROM appels
                                                                    WHERE nomPrenomAppelant='".$nomPrenomAppelant."'");
                                $rechercherPersonne->execute();
                                var_dump($rechercherPersonne);
     
                                // on affiche le temps de communication
                                while ($donnees = $rechercherPersonne->fetch())
                                {
                                    $afficheRechercherPersonne = array (
                                    '<tr>',
                                        'Temps de communication → '.$donnees['personneTotaleAppel'].  
                                    '</tr>');
                                foreach($afficheRechercherPersonne as $element)
                                {
                                    echo $element.'<br />';
                                }
    Dans ce bout de code, j'essaie d'afficher le temps de communication d'une personne. Je calcule donc la somme concernant le champ dureeAppel par rapport à la personne sélectionnée par l'utilisateur.

    Le problème c'est qu'à chaque fois le temps de communication est 00:00:00...

    Voici le résultat de mon var_dump :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    object(PDOStatement)[2]
      public 'queryString' => string 'SELECT SEC_TO_TIME(SUM(TIME_TO_SEC('dureeAppel')))
                                                                    AS personneTotaleAppel FROM appels
                                                                    WHERE nomPrenomAppelant='BIDULE TRUC(le nom et prénom sont bien pris en compte)'' (length=253)

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    bonjour,

    si dureeAppelest en secondes

    SELECT SEC_TO_TIME( SUM(dureeAppel) ) AS personneTotaleAppel FROM appels WHERE ...

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Au lieu de faire un var_dump sur ta requête fait plutôt la même chose avec $donnees

    Je vois rien de spécial sur la requête mais tu l'as essayé en direct sur ton serveur de base de données ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    Bizarre, j'ai essayé ce que tu m'as conseillé selmouadin et ça m'affichait toujours 00:08:20. Je suis revenu à ce que j'avais à l'origine c'est-à-dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    ("SELECT SEC_TO_TIME(SUM(TIME_TO_SEC('dureeAppel')))
                                                                    AS personneTotaleAppel FROM appels
                                                                    WHERE nomPrenomAppelant='".$nomPrenomAppelant."'");
    ...et ça fonctionne !

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Je m'en rappel de cette requête
    Et la somme est forcement comme celà, par contre que cela fonctionne maintenant c
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    ça marche, donc maintenant je n'y touche plus même si je vois pas l'erreur qu'il y avait !

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

Discussions similaires

  1. Requête SUM créer une seule requête à partir de 2
    Par sisi37 dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/02/2010, 16h05
  2. Optimisation requête sum()
    Par AdriM dans le forum SQL
    Réponses: 5
    Dernier message: 03/12/2008, 09h11
  3. Réponses: 18
    Dernier message: 06/10/2007, 18h03
  4. Réponses: 2
    Dernier message: 31/01/2007, 09h49
  5. requête sum complexe
    Par lebreton22 dans le forum Requêtes
    Réponses: 6
    Dernier message: 11/01/2007, 22h42

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