Mysql/php: différence de 2 dates dans une tab

tonguim Messages postés 50 Statut Membre -  
rama_du_sud Messages postés 9 Statut Membre -
Bonjour, j'utilise mysql 4.0.15 et php 4.3.3 et je voudrais obtenir la difference de dates:

j'ai trouvé l'article suivant sur ce site: http://www.matthom.com/archive/2004/10/25/date-difference-in-mysql

"Prior to MySQL 4.1.1:
SELECT TO_DAYS('2004-11-08') - TO_DAYS('2004-07-26');
–> 105

As of MySQL 4.1.1:
SELECT DATEDIFF('2004-11-08','2004-07-26');
–> 105",

et ai fait cela:

j'ai 3 zones de text (text1, text2, text3) sur un formulaire html; text1 contient la valeur de date1 et text2 celle de date2; je voudrais afficher dans text3 la difference de date1 et date2. J'ai essayé les 2 possibilités suivantes, en vain:

$php_text1=$_POST['text1'];
$php_text2=$_POST['text2'];

1-insert into myTable (date1, date2, date3) values ('$php_text1', '$php_text2', 'TO_DAYS($php_text1)-TODAYS($php_text2)');

2-insert into myTable (date1, date2, date3) values ('$php_text1', '$php_text2', 'datediff($php_tex2,$php_text1)');

Date1 et date2 sont des champs de type date dans la table; date3 est de type float.

Comment puis je obtenir la difference de 2 dates? Merci.
A voir également:

4 réponses

rama_du_sud Messages postés 9 Statut Membre 12
 
Voir le code PHP à la question "différence entre deux date/time"

Cela répond parfaitement à ton problème.

Rama du Sud
3
Alain42
 
Pour obtenir la difference ntre deux dates:

tu transformes $date1 en timestamp unix
$date2 en timestamp unix

et par la différence des deux tu obtiens cela en secondes

Vas voir sur google comment obtenir le timestamp d'une date
0
tonguim
 
merci Alain42 pour ta réponse; voici la réponse à mon problème:
$sql = "INSERT INTO myTable (date1, date2, date3) ".
"VALUES ('". $php_text1 ."', '". $php_text2 ."', (TO_DAYS(". $php_tex2 .") - TO_DAYS(". $php_text1 ."));
0
abdou60
 
dans une table Mysql j'ai un champ date. je veux afficher les enregistrement de cette table avec une condition sur date.
exemple afficher les enregistrements dont la date est comprise entre "2008-03-08" et "2008-03-18".
Merci de m'écrire le code php qui permet d'afficher le résultat.
0