J'ai un problème avec le classement des résultats de ma base MySQL. Effectivement, lorsque j'essaye de faire un ORDER BY date DESC les dates sont mal triées.
Seuls les jours sont triés, ainsi une date 05/09/11 arrivera juste après le 05/08/11 et avant le 06/08/11.
En gros ça fait ça :
03/02/11
02/03/11
02/02/11
01/02/11
Voici ma requête SQL :
SELECT contenu, lien, categorie, DATE_FORMAT(date, \'%d/%m/%y\') AS date FROM breves ORDER BY date DESC LIMIT 0, 10
Commence par changer le nom de ton champs `date`, c'est un mot clé réservé par MySQL [Edit : Non en fait c'est un mot interdit par la norme ANSI SQL mais autorisé par MySQL]. Peut-être que le problème vient de là .
le plus simple aurait etait de le trier directement avec le timestamp
Si je ne me trompe pas il a un champ date (donc pas de timestamp), et personnellement je ne suis pas d'accord. Utiliser les fonctions de date de MySQL est plus intéressant et pas beaucoup plus compliqué que les timestamp.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Victo
Pas d'aide concernant le code par MP, le forum est là pour ça :)