Bonjour à tous,

Je réalise actuellement une chatbox relativement complète (interface d'administration, inscription, log, anti-spam, modo, archives...) en php/mysql/html/css. La date/heure des messages s'affichent actuellement sous la forme :
Tout de fois, une précision à la seconde pour des messages de plus de trois mois ou encore afficher le jour/moi/année pour des messages très récents n'a pas de sens . Ainsi à l'aide d'instructions conditionnelles en php j'arrive à afficher une date/heure sous la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
[%d/%m/%Y %H:%i] pour les messages de plus de 24h
[%H:%i:%s] pour les messages de moins de 24h
De telle vérifications pour chaque message affiché demande malheureusement beaucoup de ressources...

J'en viens ainsi à ma question : Comment puis-je directement formater la date/heure du message à afficher selon son ancienneté à l'aide d'une requête mySQL ?

Pour info voici la requête que j'utilise actuellement pour lire les messages :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT DATE_FORMAT(date, \'[%d/%m/%Y %H:%i:%s]\') AS date, pseudo, message FROM chat_messages WHERE id>(SELECT MAX(id)-100 FROM chat_messages) ORDER BY id
Et voici le plan de la bdd :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
|    id  |         date                |   pseudo   |  message  |
---------------------------------------------------------------
|   1   | 2012-11-28 18:41:19  | Bellumm  |   blabla      |
J'imagine qu'il va falloir utiliser CASE ou IF
Merci pour votre aide

Bellumm