Rechercher : dans
Par :

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

Dernière réponse le 7 jun 2008 à 02:54:57 tonguim, le 8 jui 2007 à 17:04:25 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 2.0.0.4

1

Alain42, le 8 jui 2007 à 22:22:25

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

Répondre à Alain42

2

tonguim, le 9 jui 2007 à 19:14:59

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 ."));

Répondre à tonguim

3

abdou60, le 4 avr 2008 à 19:22:02

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.

Répondre à abdou60

4

 rama_du_sud, le 7 jun 2008 à 02:54:57
  • +2

Voir le code PHP à la question "différence entre deux date/time"

Cela répond parfaitement à ton problème.

Rama du Sud

Répondre à rama_du_sud