Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher les MOIS

    13 septembre 2021 à 9:20:33

    Bonjour à tous,

    Voici ma requête SQL :

    $SELECT_UTILISATEURS = $bdd->query("SELECT COUNT(id_compte) AS totalCompte, date_creation FROM compte
    WHERE date_creation
    GROUP BY MONTH(date_creation)
    ORDER BY MONTH(date_creation)
    ");

     Je voudrais afficher les mois en lettre, actuellement ça me domme le chiffre, 4=Avril, 9=Septembre, ....

    J'ai essayé avec MONTHNAME() :

    $SELECT_UTILISATEURS = $bdd->query("SELECT COUNT(id_compte) AS totalCompte, MONTHNAME(date_creation) FROM compte
    WHERE date_creation
    GROUP BY MONTH(date_creation)
    ORDER BY YEAR(date_creation)
    ");

    Mais pas mieux.

    Une idée

    Merci



    -
    Edité par legrec 13 septembre 2021 à 9:21:29

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2021 à 9:45:55

      Bonjour,

      As-tu recherché un peu avant de poster ?

      Sinon, avec quelle version de MySQL (ou MariaDB) travailles-tu ?

      Regarde du côté des locales :

      SET lc_time_names = 'fr_FR';
      
      SELECT MONTHNAME( NOW() );

      -
      Edité par Benzouye 13 septembre 2021 à 9:47:39

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        13 septembre 2021 à 10:08:20

        Bonjour Benzouye,

        oui je cherche toujours avant et j'ai bien mon SET lc_time_names = 'fr_FR' lors de la connexion à la bdd.

        Après même si le format n'est pas configuré il devrait s'afficher en EN, non ?

        Je suis sous MariaDB.

        Merci

        -
        Edité par legrec 13 septembre 2021 à 10:09:03

        • Partager sur Facebook
        • Partager sur Twitter
          13 septembre 2021 à 11:02:11

          Que se passe-t-il si tu lances directement dans la console (ou dans PHPMyAdmin) les deux requêtes que j'ai posté juste avant ?

          Pour info sur mon install MariaDB 10.4.6 :

          -
          Edité par Benzouye 13 septembre 2021 à 11:04:10

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            13 septembre 2021 à 11:29:53

            Je viens de faire une requête simple avec uniquement MONTHNAME et ça fonctionne, du coup je pense que j'ai un autre problème, j'utilise Highcharts pour mes graphiques :

            $SELECT_UTILISATEURS = $bdd->query("SELECT COUNT(id_compte) AS totalCompte, MONTHNAME(date_creation) AS MOIS FROM compte
            WHERE date_creation
            GROUP BY MONTHNAME(date_creation)
            ORDER BY YEAR(date_creation)
            ");
            
            
            while($donnees = $SELECT_UTILISATEURS->fetch())
            {
                $utilisateurs[] = $donnees["totalCompte"];
                $mois[] = $donnees["MOIS"];
                
            }



            • Partager sur Facebook
            • Partager sur Twitter
              13 septembre 2021 à 14:37:33

              ça t'affiche quoi ? ça te donne quoi ?

              NB: à chaque tour de la boucle, tu écrases tes tableaux $utilisateurs et $mois; donc à la sortie de cette boucle, tu n'aura que la dernière infos (je ne sais pas d'où  (quel cours/tuto) sort cette boucle, je la vois trop souvent et elle est toujours aussi fausse, à moins que l'affiche ne se fasse dedans.)

              • Partager sur Facebook
              • Partager sur Twitter
                14 septembre 2021 à 18:50:16

                Bonjour umfred,

                Voici le graph aujourd'hui, j'ai creusé mais pas mieux....

                Le 4 correspond bien à Avril et le 9 Septembre mais je n'arrive toujours pas à afficher les MOIS en lettre

                • Partager sur Facebook
                • Partager sur Twitter
                  14 septembre 2021 à 19:12:43

                  Si tu testes ta requête entière dans la console/phpmyadmin, ça te donne un bon résultat ? (j'ai un doute sur l'utilité de "WHERE date_creation" dans ta requête)

                  Et ça ne répond pas à la question de savoir ce que contient ta variable $mois (affiche ta variable pour vérifier sa valeur)
                  et on ne sais pas non plus comment tu construis ton graphe, mais en me basant sur l'exemple Fiddle de la doc de Highcharts (https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/series-datalabels ), en mettant quelque chose comme

                  xAxis: {
                          categories: <?php echo $mois ?>
                      },

                  ça devrait fonctionner (toujours à condition que $mois contiennent bien tes nom de mois)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 septembre 2021 à 19:32:43

                    La variable $mois contient array(2) { [0]=> int(4) [1]=> int(9) }

                    et provient de "date_creation" de ma requête, le graph est construit comme dans ton exemple :

                    xAxis: {
                    categories: [
                            <?phpechojoin($mois, ',') ?>
                            ],
                    totalComptedate_creation  
                    6 2021-04-08 19:12:20
                    2 2021-09-08 08:30:22

                    -
                    Edité par legrec 14 septembre 2021 à 19:34:00

                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 septembre 2021 à 13:27:00

                      Donc tu as bien un problème avec ta requête ou tu modifies ta variable $mois entre temps.

                      Tu as essayé sans le "WHERE date_creation" ?

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Afficher les MOIS

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown