[MYSQL] Tri par date

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

[MYSQL] Tri par date

Message le Mer Sep 07, 2011 17:30

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: Tout sélectionner
$sql = 'SELECT * FROM matable ORDER BY date_format("%d-%m-%Y", "time") DESC';


Merci pour votre aide !


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 17:32

Et juste ORDER BY time ça va pas ? Pas besoin de convertir le timestamp pour faire un tri.

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 17:39

Non, le ORDER BY time me donne un tri complètement aléatoire ...
C'est ça que je ne comprend pas justement ...


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 17:55

Le champ time est de quel type ?
Normalement time est un mot clef réservé, mais ne pose pas de problème: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
Essaie en entourant le champ avec des backtick (`), on ne sais jamais...

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:11

Varchar

Pareil avec les backtick :(

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:16

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 ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:23

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.

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:33

Je le convertis en date sur l'affichage de ma page ;)


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:35

- Et non converti ça donne quoi ?
- Tu le convertis comment pr l'affichage ?

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:38

Pareil sans conversion ;)

J'utilise date('d-m-Y', $data['time'])


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:42

Oui mais j'aimerais voir le contenu d'un champ time ? C'est bien un nombre comme un timestamp unix ?

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 18:43

Vivi !

Voila une ligne de la base :
1 537750000 Allemagne Krefeld Kulturfabrik

doudouseb
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 14 Mar 2006

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 19:06

Peux tu faire un export de la table et l'envoyer pour qu'on essaye en local?

doudouseb
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 14 Mar 2006

Re: Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 19:11

darkjukka a écrit:Varchar

Pareil avec les backtick :(

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.

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 669
Inscription: 28 Avr 2007

Re: [MYSQL] Tri par date

Message le Mer Sep 07, 2011 19:15

Je viens de passer le champ en int et hop ça marche !!
Merci beaucoup seb ;)

[MYSQL] Tri par date

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités