[MYSQL] Tri par date

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par darkjukka, 7 Septembre 2011.

  1. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Bonsoir à tous,


    Ca fait un moment que je me creuse la cervelle, que je cherche sur le net mais niet, je ne trouve rien !

    Alors voila, j'ai une table avec divers champs dont un "time" avec le timestamp d'une date précise, passée ou future.
    Le timestamp est obtenu par conversion d'une date au format jj-mm-aaaa avec strtotime()

    J'aimerai afficher sur ma page le contenu de la table en triant par date, les plus récentes en haut, les plus veilles en bas (un bon vieux DESC quoi) seulement j'y arrive pas :?
    Ca me met toujours les dates les plus vieilles en haut et les plus récente en bas (c'est une page de concerts donc j'aimerai l'inverse)

    Ma requête est la suivante :
    Code:
    $sql = 'SELECT * FROM matable ORDER BY date_format("%d-%m-%Y", "time") DESC';
    Merci pour votre aide !
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    Et juste ORDER BY time ça va pas ? Pas besoin de convertir le timestamp pour faire un tri.
     
  3. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Non, le ORDER BY time me donne un tri complètement aléatoire ...
    C'est ça que je ne comprend pas justement ...
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
  5. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Varchar

    Pareil avec les backtick :(
     
  6. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Ah tiens je n'avais pas fait attention à ça mais les dates sont décroissantes de 1999 à 1987 puis 2011 à 2002

    Donc en gros

    1999
    1988
    1997
    ...
    1987
    2011
    2010
    2009
    ...
    2002


    WTF ?
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    Dans ton premier post tu dis que c'est un timestamp et maintenant tu montres que c'est des années ? Je capte pas non plus.
     
  8. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Je le convertis en date sur l'affichage de ma page ;)
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    - Et non converti ça donne quoi ?
    - Tu le convertis comment pr l'affichage ?
     
  10. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Pareil sans conversion ;)

    J'utilise date('d-m-Y', $data['time'])
     
  11. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    Oui mais j'aimerais voir le contenu d'un champ time ? C'est bien un nombre comme un timestamp unix ?
     
  12. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Vivi !

    Voila une ligne de la base :
    1 537750000 Allemagne Krefeld Kulturfabrik
     
  13. doudouseb
    doudouseb Nouveau WRInaute
    Inscrit:
    14 Mars 2006
    Messages:
    28
    J'aime reçus:
    0
    Peux tu faire un export de la table et l'envoyer pour qu'on essaye en local?
     
  14. doudouseb
    doudouseb Nouveau WRInaute
    Inscrit:
    14 Mars 2006
    Messages:
    28
    J'aime reçus:
    0
    Re: Re: [MYSQL] Tri par date

    A ta place je choisirait un format numérique.
    Le tri sera plus rapide et la table sera moins volumineuse.
    Et cela résoudra peut être ton problème.
     
  15. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    Je viens de passer le champ en int et hop ça marche !!
    Merci beaucoup seb ;)
     
  16. poulpe
    poulpe WRInaute discret
    Inscrit:
    29 Juin 2004
    Messages:
    88
    J'aime reçus:
    0
    je comprends toujours pas pourquoi ton champ n est pas un type timestamp ...
     
  17. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 417
    J'aime reçus:
    0
    un vrai tri par date se fait sur Ymd et pas dmY
     
  18. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    588
    J'aime reçus:
    0
    L'essentiel pour moi est que j'arrive au résultat voulu, même si la méthode est peu orthodoxe :)
     
Chargement...
Similar Threads - [MYSQL] Tri date Forum Date
[MySQL] addslashes et stripslashes Développement d'un site Web ou d'une appli mobile 9 Août 2011
[mysql] trier les résultats d'une requête selon une table non liée à la requête Développement d'un site Web ou d'une appli mobile 15 Avril 2011
[résolu][mysql] faire un "NOT LIKE" sur une chaîne contenant des / Développement d'un site Web ou d'une appli mobile 25 Octobre 2014
[MySQL] Liste (select) avec des lignes au hasard Développement d'un site Web ou d'une appli mobile 23 Octobre 2014
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
[MySQL] Nombre d'enregistrements sur des horaires précis Développement d'un site Web ou d'une appli mobile 19 Juillet 2013
[MYSQL] Comment remplacer caractères dans tous les champs de toutes les tables d'une base? Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
[MYSQL] Une sorte de "OR JOIN" ? Développement d'un site Web ou d'une appli mobile 5 Juillet 2013
[MySQL] sélectionner la dernière note pour chaque élève en une seule requète ? Développement d'un site Web ou d'une appli mobile 12 Avril 2012
[Mysql] Requête PDO avec variable php Développement d'un site Web ou d'une appli mobile 16 Février 2012
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice