Soustraction date du jour !

Soustraction date du jour ! - SQL/NoSQL - Programmation

Marsh Posté le 15-03-2007 à 12:13:28    

Bonjour, je cherche à soustraire à la date du jour une date dans une base mysql, et que le résultat s'affiche en jour, pour l'instant j'arrive à soustraire deux dates de la base :
 

Code :
  1. echo round( (strtotime($data['date_bdd1']) - strtotime($data['date_bdd2']) ) / 86400 );


 
voilà le code plus général :

Code :
  1. <?PHP
  2. $db = mysql_connect('xxxxx1', 'xxxxx2', 'xxxxx3');
  3. mysql_select_db('xxxxxx',$db);
  4. $sql = 'SELECT * FROM xxxxx4 order by xxxxx5';
  5. $req = mysql_query($sql) or die('Erreur SQL !
  6. '.$sql.'
  7. '.mysql_error());
  8. while($data = mysql_fetch_array($req))
  9. {
  10. echo "<table><td class='alex'>";
  11. echo round( (strtotime($data['date_bdd1']) - strtotime($data['date_bdd2']) ) / 86400 );
  12. echo "</td></table>";
  13. }
  14. mysql_close();
  15. ?>


 
Merci de votre aide ;)


---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Marsh Posté le 15-03-2007 à 12:13:28   

Reply

Marsh Posté le 15-03-2007 à 12:19:33    

Reply

Marsh Posté le 15-03-2007 à 13:13:48    

Merci mais :

Citation :

DATEDIFF() est disponible depuis MySQL 4.1.1.


Et j'utilise la version 3.23.39 :(
 
N'y aurait'il pas une autre solution ?


Message édité par athome le 15-03-2007 à 13:14:13

---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Marsh Posté le 15-03-2007 à 13:17:35    

si lire la page de doc en entier: to_days(current_date) - to_days(tadate)

Reply

Marsh Posté le 15-03-2007 à 15:31:20    

Merci de ton aide mais je cale, car je débute :(
 
Peux tu m'aider à l'adapter dans le bout de mon code ?
 
Merci


---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Marsh Posté le 16-03-2007 à 10:23:48    

je cale toujours sur ce problem, il n'y aurait pas possibilité de le faire en php ?
 

Code :
  1. echo date("d-m-Y" ) - $data['nom_champ']


Message édité par athome le 16-03-2007 à 10:24:07

---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Marsh Posté le 16-03-2007 à 10:37:29    

1. la solution avec to_days est a utiliser dans ta requete sql, je vois pas comment je pourrais plus t'aider ( ou alors je te code ton truc en entier ...)
2. en php tu as plein de méthodes pour jouer sur la date, mais tu ne sembles pas avoir envie de lire la doc (tu y trouverais pourtant plein d'exemples) => http://fr.php.net
3. Une recherche sur le forum t'aurais donné quelques résultats ( la par exemple),  et on ne parle même pas d'une recherche sur google

Reply

Marsh Posté le 16-03-2007 à 11:19:28    

Merci pour ton aide, il semble que j'ai trouvé de cette manière :
 

Code :
  1. echo "<table><td class='alex'>";
  2. $days = (strtotime(date("Y-m-d" )) - strtotime($data['champ'])) / 86400;
  3. print $days;
  4. echo "</td></table>";


 
Je vais t'embêter encore  :D  
 
mais comment mettre en rouge les résultats de plus de 30 jours ?
 
Merci


---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Marsh Posté le 16-03-2007 à 11:24:25    

Code :
  1. if ($days > 30) {
  2. echo "<span style=\"color:red\">$days</span>";
  3. } else {
  4. echo $days;
  5. }

Reply

Marsh Posté le 16-03-2007 à 12:12:49    

Pato el canardo a écrit :

Code :
  1. if ($days > 30) {
  2. echo "<span style=\"color:red\">$days</span>";
  3. } else {
  4. echo $days;
  5. }



 
 [:athome]


---------------
Feedback ==>  http://forum.hardware.fr/transacti [...] ser=178709
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed