Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MySQL] ordonner les informations

ORDER BY ***

    19 février 2006 à 19:57:54

    Bonjour...
    Je viens vous demander comment je peux m'y prendre pour ordonner des informations avec ORDER BY...
    Voici ce que je voudrais faire : ordonner les infos à partir d'un timestamp.
    Mais... seulement, comment vouloir dire "Je veux classer les infos dans l'ordre des jours du champ avec le timestamp." !

    Donc, voici un test que j'ai fait... ça vous aidera à comprendre !

    $retour_liste_des_membres = mysql_query('SELECT id, pseudo, date_de_naissance, classification FROM membres ORDER BY date_de_naissance("m"), date_de_naissance("d"), date_de_naissance("Y")');


    Ce que j'aimerais : que ça classe dans l'ordre des mois, puis des jours, et pour finir, des années.

    Du genre :

    10 Janvier 2000
    11 Février 2001
    11 Février 2002
    13 Février 2000
    29 Juin 1900
    2 Septembre 2004
    ...

    Comprenez-vous ? Saurez-vous m'aider ?
    Merci d'avance et @ bientôt !
    • Partager sur Facebook
    • Partager sur Twitter
      19 février 2006 à 23:04:53

      Bon, j'avoue ne pas avoir trop d'idée malgré ma demi-heure de recherche et mes différents tests... :) ou alors, des idées, mais pas trop réalisables... :)
      Donc sauf si tu es déjà très avancé dans ta page/ton site, que dirais-tu de passer d'un type int qui te permet de stocker ton timestamp à un type datetime qui te permet de stocker ta date et ton heure???
      • Partager sur Facebook
      • Partager sur Twitter
        20 février 2006 à 13:34:28

        Peux-tu m'expliquer comment cela fonctionne ???

        Si c'est pas très pratique, je ferai comme j'avais l'habitude... (Mais c'est un code plus long :p)

        @+ et merci !
        • Partager sur Facebook
        • Partager sur Twitter
          20 février 2006 à 20:20:06

          C'est un format qui existe qui enregistre les données au format: AAAA-MM-JJ HH:MM:SS
          Après, par une fonction très simple (date_format) tu le sors avec la forme que tu veux: JJ/MM/AAAA ou JJ/MM/AAAA HH:MM ou AAAA/JJ/MM MM:SS:HH
          C'est toi qui voit... ;)
          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2006 à 12:28:56

            Et pour enregistrer... Tu utilises le timestamp ? Ou tu dois enregistrer "11/12/2005 20:30:11", par exemple ?
            • Partager sur Facebook
            • Partager sur Twitter
              21 février 2006 à 12:31:40

              Mets ton champ en type DATE et un ORDER BY champ [ASC|DESC] marchera parfaitement.
              cadeau : http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html (FROM_UNIXTIME)
              • Partager sur Facebook
              • Partager sur Twitter
                21 février 2006 à 15:23:31

                Tu n'utiliseras pas le timestamp, mais un format AAAA-MM-JJ HH:MM:SS comme j'ai dit...
                Pour, par exemple, inscrire l'heure actuelle, tu utiliseras la fonction SQL: NOW()

                Elentar > pour le rangement qu'il voulait faire, ça ne marchera pas, il voulait faire ordonner par mois, puis jour, puis année, donc je ne sais pas si ça marcherait, mais j'aurais plutôt dit quelque chose comme: ORDER BY MONTH(date) ASC, DAY(date) ASC, YEAR(date) ASC
                Reste à voir si ça fonctionne...
                • Partager sur Facebook
                • Partager sur Twitter
                  21 février 2006 à 16:31:11

                  "ASC", ça sert à quoi ? Je l'ai vu plein de fois... Mais je l'ai jamais utilisé...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 février 2006 à 16:42:14

                    Quand tu ordonnes tu as le choix entre croissant (ASC) et décroissant (DESC)... Juste, il me semble que le ASC est facultatif...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 février 2006 à 16:43:13

                      ASC => Ordre croissant
                      DESC => Ordre décroissant

                      ORDER BY champs ASC
                      ou ORDER BY champs DESC
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 février 2006 à 16:51:21

                        Ha, ok !
                        Moi, j'utilise soit "DESC", soit "" !!! :p
                        Le ASC est donc bien facultatif ! ;)
                        @+
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [MySQL] ordonner les informations

                        × 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