Trie par date

Mammouth du PHP | 620 Messages

07 sept. 2019, 14:38

Bonjour,
dans un base j'ai un champ qui s'appel date ( mai qui est format texte).
Ce champ comprend des dates sur le format 01-09-2019
J'aimerai sur ma requet sql faire un tri en fonction des dates ASC ou DESC du genre

Code : Tout sélectionner

SELECT * from matable ORDER BY date ASC
Le hic c'est que actuellement le tri en ASC ou DESC ne fonctionne pas.
Comment dois-je Ecrire ma requet pour avoir les dates dans l’ordre souhaité ?

Mammouth du PHP | 2703 Messages

07 sept. 2019, 15:05

trier selon le résultat d'une fonction, https://dev.mysql.com/doc/refman/5.5/en ... tr-to-date
après, un champ date devrait être au format date et non texte.

Mammouth du PHP | 620 Messages

09 sept. 2019, 13:12

Merci pour le lien qui est très intéressant :)
Par contre je ne trouve pas dans ce lien comment faire le trie en fonction de mon champs :cry:

Mammouth du PHP | 2703 Messages

09 sept. 2019, 15:19

vous avez dit comment trier en sql :
SELECT * from matable ORDER BY date ASC

Mammouth du PHP | 620 Messages

09 sept. 2019, 15:56

Oui mais mon champs est un champ texte et pas date donc cela ne fonctionne pas

Dans mon champ date les dates sont au format 04-09-2019 et là avec la requet ORDER BT DATE ASC j'ai les dates qui ressortent dans cet ordre :
04-09-2019
30-06-2019
30-08-2019
31-05-2019
31-07-2019
...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

09 sept. 2019, 16:40

Il s'agit d'une erreur importante de conception de ta base de données : ton champ date ne doit surtout pas être au format texte mais au format date et donc sous la forme ANNEE-MOIS-JOUR
Fait le changement dès maintenant car sinon ça va te pourrir la vie et complexifier énormément tes développements
Quand tout le reste a échoué, lisez le mode d'emploi...