Enregistrement et différence de dates

Fermé
maxou - 26 juin 2010 à 23:39
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 - 27 juin 2010 à 12:01
Bonjour ou bonsoir,
j'enregistre dans ma base de données des messages.
Chaque message est enregistré avec une date. Dans ma base de données le type de champs est DATE.
J'enregistre aussi l'heure avec un type de champs TEXT.
Je ne met pas de Timestamp car je veut ensuite faire:

afficher "il y a..." et là la différence d'heure entre maintenant et l'heure à laquelle a été posté le message.
Donc, si le jour du message n'est pas le jour d'aujourd'hui, on affiche seulement la date (pour ne pas que sa fasse du "Il y a 256 heures").
Si le jour du message est le même qu'aujourd'hui, on fait la différence pour savoir il y a combien de temps il a été enregistré.

J'ai fais ceci:

$date = date('y,m,d'); //en ce moment
$date_message = $row['date']; //date à laquelle message a été enregistré
$heure = date("H\hi"); // heure maintenant
$heure_message = $data['heure']; //heure à laquelle message a été enregistré
if($date != $date_message) //si aujourd'hui n'est pas égal à la date du message
{
$time = $date_message; //on garde donc la date
}
else
{
$heure_finale = $heure - $heure_message; //on fait la différence entre heure maintenant et heure à laquelle le message a été enregistré pour savoir il y a combien de temps
$time = $heure_finale; //on obtient donc cette variable
}


Mais sa ne marche pas.
En effet une fois enregistré, la date dans le champs de type DATE est transformé en AAAA-MM-JJ (année mois jour) alors que quand je vérifie la date du jour aujourd'hui le format n'est pas le même, donc il n'y a pas égalité.

Donc comment puis-je faire, ou alors existe-t-il une autre solution, plus simple ?
Car ensuite je voudrais afficher précisément, par exemple si c'est il y a des heures, des minutes ou des secondes.

Merci d'avance.

1 réponse

dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
27 juin 2010 à 12:01
Salut, je pense que pour comparer des dates le timestamp est inévitable, je pense que tu vas être obligé de stocker la valeur de la fonction "time()" dans ta base.
0