souci avec diffdate()

Eléphanteau du PHP | 19 Messages

16 mai 2005, 16:14

salut je voudrai qu'un requete me donne la différence entre la date actuelle et un champ date de la base de donnée, seulement g une erreur:
.
voici ma requete:

Code : Tout sélectionner

[code] si quelqu'un peut m'aider.... merci d'avance
Modifié en dernier par Helene padawane en php le 21 juin 2006, 14:07, modifié 1 fois.

Mammouth du PHP | 19672 Messages

16 mai 2005, 17:35

Salut,
peut-être bien une virgule en trop entre "diff" et "FROM"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 19 Messages

17 mai 2005, 10:35

en effet la virgule était de trop, ceci dit l'erreur perdure.
mais bon qu'a cela ne tienne g trouvé un petite fonction qui donne la différence en nombre de jours..

Code : Tout sélectionner

function diff_date($dt1 , $dt2){ list($jour,$mois,$an)=explode("/",$dt1); list($jour2,$mois2,$an2)=explode("/",$dt2); $date = mktime(0, 0, 0, $mois, $jour, $an); $date2 = mktime(0, 0, 0, $mois2, $jour2, $an2); $diff = floor(($date - $date2) / (3600 * 24)); return $diff; }
mais j'aurai bien aimé comprendre comment fonctione diffdate..
merci en tout cas

Mammouth du PHP | 19672 Messages

17 mai 2005, 10:54

Tu auras peut-être des éléments de réponse ICI, mais je n'ai rien trouvé sur diffdate dans la doc MySQL
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mai 2005, 11:15

diffdate ça n'existe pas par contre il y a datediff :)
DATEDIFF(expr,expr2)

DATEDIFF() retourne le nombre de jours entre la date de début expr et la date de fin expr2. expr et expr2 sont des expressions de type DATE ou DATETIME. Seule la partie DATE est utilisée dans le calcul.
ici : http://dev.mysql.com/doc/mysql/fr/date- ... tions.html

;)

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 13:58

Bon j'ai essayé avec datediff :-> tjs le meme problème
mais tant pis
merci en tout cas

Lybil
Invité n'ayant pas de compte PHPfrance

10 nov. 2006, 18:39

Bonjour,

Ca marche bien... mais...
Le probleme de cette solution est que; dans le cas d'un calendrier; il ne marche pas pour les dates avant le 1/Janv/1980 utilisant un système d'exploition Microsoft et 1/Janv/1970 sous UNIX/Unix like (linux)

A+
Lybil

en effet la virgule était de trop, ceci dit l'erreur perdure.
mais bon qu'a cela ne tienne g trouvé un petite fonction qui donne la différence en nombre de jours..

Code : Tout sélectionner

function diff_date($dt1 , $dt2){ list($jour,$mois,$an)=explode("/",$dt1); list($jour2,$mois2,$an2)=explode("/",$dt2); $date = mktime(0, 0, 0, $mois, $jour, $an); $date2 = mktime(0, 0, 0, $mois2, $jour2, $an2); $diff = floor(($date - $date2) / (3600 * 24)); return $diff; }
mais j'aurai bien aimé comprendre comment fonctione diffdate..
merci en tout cas