Transformer format date

yesnie
Invité n'ayant pas de compte PHPfrance

18 août 2010, 12:42

Bonjour,

j'ai récupéré sur le forum une ligne me permettant d'afficher les entrées effectué les 5 derniers jours :

$sql="SELECT * FROM table WHERE TO_DAYS(NOW())-TO_DAYS(rubriquemcl1) < 5";

Le pb est que je ne stocke pas la date dans le champs " date" mais dans le champs "rubriquemcl1" car la date d'ajout n'est pas la même que celle stockée dans "rubriquemcl1". De plus pour des raisons de lisibilité la date stocké dans le "rubriquemcl1" est au format JJ/MM/AAAA.

Comment faire pour appliqué la commande ci dessous en tenant compte d'une date à un autre format que le AAAA-MM-JJ ?

Merci beaucoup de vos réponses.

ViPHP
AB
ViPHP | 5818 Messages

18 août 2010, 20:26

Tu n'emploies pas la bonne méthode.

Il faut toujours stocker les date en bdd au format AAAA-MM-JJ justement pour pouvoir appliquer facilement les fonctions de tri sur les dates.

Ensuite c'est au moment de l'affichage que tu transforme le format AAAA-MM-JJ au format de ton choix. Par exemple en php
function Date_fr($date)
{
   setlocale(LC_TIME, 'french');
   return strftime('%d/%m/%Y', strtotime($date));
}

echo Date_fr('2011-03-15');
ou alternativement avec DATE_FORMAT directement dans ta requête.