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 :

Additionner des données issues de ma BdD


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 Additionner des données issues de ma BdD
    Bonjour à tous,

    j'ai une table du nom : sal
    dans cette table plusieurs colonnes :
    j'ai des données que j'aimerai regrouper tout en les additionnant

    exemple de données :
    247 CHG 1/02/2021 1 1
    248 GRA 1/02/2021 0 2
    249 CHG 2/02/2021 0 0
    250 GRA 2/02/2021 0 0

    J'aimerai q'il me regroupe par date "date_sal" et qu'il me donne le résultat de l'addition de la colonne sal1

    voici mon code qui ne fonctionne pas

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
     
    <?php
     
     
    $annee = date('Y');
     
     
    // information pour la connection à le DB
    $conn = mysqli_connect('****', '****, '****', '****');
     
    //echo '<font color="white">c\'est ok</font>';
    $select = '    SELECT * FROM sal WHERE mois = "02" ORDER BY id';    
     
     
    $result = $conn->query($select);
    $total = mysqli_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
     
     
    if($total) {
     
     
        // debut du tableau
     
     
        echo '<table align="center" bgcolor="#FFFFFF">'."\n";
     
     
            // première ligne on affiche les titres  dans 2 colonnes
     
     
            echo '<tr>';
     
            //echo '<td align="center"; bgcolor="#669999"><b><u>id</u></b></td>';
     
            echo '<td align="center"; style="color:white" bgcolor="#0072ff"><b><u>Date</u></b></td>';
     
            echo '<td align="center"; style="color:white" bgcolor="#0072ff"><b><u>Total</u></b></td>';
     
     
     
     
     
              echo '</tr>'."\n";
     
     
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
     
     
        while($row = mysqli_fetch_array($result)) {
     
     
            echo '<tr>';
     
     
            echo '<td align="left"; style="color:black" bgcolor="#d6d6d6">'.$row["date_sal"].'</td>';
     
     
            //Calcul sal1
            $selectsal1 = 'SELECT sal1, SUM(sal1) AS total FROM sal, WHERE mois = "02"';    
            $resultsal1 = $conn->query($selectsal1);    
            $num_rowssal1= mysqli_num_rows($resultsal1);
     
     
           echo '<td align="left"; style="color:black" bgcolor="#CCFF00">'.$num_rowssal1.'</td>';
        }            
       echo '</table>'."\n";
    }
        // fin du tableau.
     
     
     
     
    else echo '<br>Aucu';
     
     
     
    // on libère le résultat
     
     
    mysqli_free_result($result);
     
     
     
     
    ?>
    Pourriez-vous m'aider ?

    Merci à vous

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Bonjour,

    Essayes avec GROUP BY, genre 'SELECT sal1, date_sal SUM(sal1) AS total FROM sal WHERE mois = "02" GROUP BY sal1, date_sal';

    ... à condition que la colonne "mois" soit définie dans ta table. Sinon tu pourrais l'extraire à partir du champ date : 'SELECT sal1, date_sal SUM(sal1) AS total FROM sal WHERE MONTH(date_sal) = "2" GROUP BY sal1, date_sal';

    Mais il est très probable que cela ne fonctionne pas car le format date de sql est YYYY-MM-DD c.f doc mysql, donc la première chose à faire quand on veut faire du tri avec le champ date de mysql est d'utiliser le bon format. C'est pour l'affichage qu'on transforme le champ au format français mais pas pour rentrer les données.

    Sinon dans ce cas précis tu pourrais bidouiller en utilisant SUBSTRING pour récupérer le mois si vraiment tu ne peux pas changer ce format, mais tu seras limité pour toutes les fonctions mysql de tri sur les dates. Il est vivement conseillé (indispensable) de rentrer les dates au format YYYY-MM-DD d'autant plus que c'est aussi le format de travail pour php.
    Au besoin si tu as beaucoup de données de rentrées, tu pourrais créer une nouvelle colonne au format date de mysql (en utilisant le type DATE) et faire une routine pour te servir de l'ancienne colonne pour alimenter la nouvelle au bon format.

Discussions similaires

  1. Problème En BDD access
    Par mathrb dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/05/2007, 15h16
  2. [MySQL] Problème de bdd!
    Par cyberdevelopment dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/04/2007, 15h00
  3. [MySQL] Problème formulaire --> bdd
    Par elmago dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 19/03/2007, 17h53
  4. [MySQL] Problème de BDD chez Free
    Par linkman dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/07/2006, 19h00
  5. Problème SUM()...
    Par Empty_body dans le forum Langage SQL
    Réponses: 1
    Dernier message: 14/03/2006, 15h13

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