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 :

Afficher un calcul selon un regroupement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut Afficher un calcul selon un regroupement
    Bonjour à tous

    j'ai une table "val_cond"

    id | nom | duree
    ------------------------
    01 | toto | 1
    02 | dudu | 0.5
    03 | toto | 1,5
    04 | lolo | 2
    03 | dudu | 4

    J'aimerai faire un regroupement de noms tout en additionnant

    le résultat affiché devrait ressembler à un truc comme cela :

    toto 2,5
    dudu 4.5
    lolo 2

    Cependant, je n'arrive pas à afficher le calcul

    voici mon code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
    <!-- Encodage en ISO 8859-1, en HTML 5 -->
    <meta charset="iso-8859-1" />
    <title>Document sans titre</title>
    </head>
     
     
    <body><br /><br /><br />
    <?php
    // information pour la connection à le DB
    include('../../config.php');
     
    //echo '<font color="white">c\'est ok</font>';
    $select = '    SELECT nom, SUM (duree) FROM val_cond';    
     
     
    $result = $conn->query($select);
    $total = mysqli_num_rows($result);
     
     
    if($total) {
     
     
        // debut du tableau
     
     
        echo '<table align="center" bgcolor="">'."\n";
     
     
            echo '<tr>';    
     
     
              echo '</tr>'."\n";
     
     
        while($row = mysqli_fetch_array($result)) {
     
     
            echo '<tr>';
            echo '<td align="left"; title=""; style="font-size:40px; color:#b5fffc" >- '.$row["nom"].'</td>';
            echo '<td align="left"; title=""; style="font-size:40px; color:#b5fffc" >- '.$row["duree"].'</td>';
     
            echo '<td style="text-align:top;"><a href="validation.php?id='.$row["id"].'&amp; date_fr='.$row["date_fr"].'&amp; date_en='.$row["date_en"].'&amp; matricule_creation='.$row["matricule_creation"].'&amp; tache='.$row["tache"].'"><img src="../../images/valid2.png" width="80" height="35"></a></td>';
            echo '</tr>';
     
            echo '<tr>';
            echo '<td align="center"; title=""; style="font-size:40px; color:#ffb5b5" >---------------------------------</td>';
            echo '</tr>';
            }
       echo '</table>'."\n";
     
    }
        // fin du tableau.
    else echo '<br>Aucune tache enregistrée';
     
     
    // on libère le résultat
     
     
    mysqli_free_result($result);
    ?>
     
     
     
     
    </body>
    </html>
    <?php
        }else{echo('<h1>Vous ne disposez pas des droits necessaires pour acceder a cette page</h1>');}
    ?>
    Pourriez-vous m'aider?

    Grand merci à vous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 197
    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 197
    Points : 8 414
    Points
    8 414
    Billets dans le blog
    17
    Par défaut
    $select = ' SELECT nom, SUM (duree) FROM val_cond';
    Tu oublies de faire ton groupement avec GROUP BY et tu ne nommes pas ta colonne agrégée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = <<<SQL
        SELECT ALL nom, SUM(duree) AS sum_duree
        FROM val_cond
        GROUP BY nom
        SQL;
    Bien sûr ça ne fonctionnera que si ta colonne "duree" contient des valeurs valides, et pas un coup des séparateurs décimaux "," et un autre "."

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut
    Un très grand merci.

    Voici comment j'ai codé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $select = 'SELECT ALL nom, SUM(duree) AS duree FROM val_cond GROUP BY nom';
    cela fonctionne très bien

    Juste une dernière question.

    Pourquoi cela ne prend pas les décimales

    Encore merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut
    En fait c'est bon cela fonctionne

    encore merci


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

Discussions similaires

  1. [AC-2016] Afficher un champ calculé selon valeur d'un autre champ
    Par chipster62 dans le forum Access
    Réponses: 4
    Dernier message: 30/01/2021, 14h00
  2. Pb pour afficher une page selon la résolution de l'écran
    Par magic8392 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/10/2005, 11h35
  3. Réponses: 9
    Dernier message: 04/10/2005, 19h39
  4. Réponses: 1
    Dernier message: 07/09/2005, 10h25
  5. Afficher un enregistrement selon un critère saisie.
    Par pegase23 dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 10h54

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