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 -
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.
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.
Configuration: Windows XP Firefox 2.0.0.4
4 réponses
-
Voir le code PHP à la question "différence entre deux date/time"
Cela répond parfaitement à ton problème.
Rama du Sud -
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 -
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 .")); -
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.