Page 1 sur 1

date diff expects parameter 1 to be datetime

Posté : 30 avr. 2012, 15:56
par piotrowski-s
Bonjour à tous, j'ai ce code ci:
 <?php 
$sql = 'SELECT * FROM creance where n_doss='.$_GET['n_doss'].'';
$result = mysql_query($sql) or die(__LINE__.mysql_error().$sql); 
?>			
                  <?php
      $user = mysql_fetch_assoc($result)
      
        ?><?php
 
if ($user['date_prescription'] > date('Y-m-d'))
{
$datetime1 = date('Y-m-d');
$datetime2 = $user['date_prescription'];
$interval = date_diff($datetime1, $datetime2);
    echo "<center>".date('d-m-Y',strtotime($user['date_prescription']))."<br>soit dans:".$interval->format('%R%a days')."</center>";
}
else // SINON
{
    echo "<center>Créance préscrite depuis le ".date('d-m-Y',strtotime($user['date_prescription']))."</center>" ;

}
 
?>
qui me renvoit l'erreur sous-jacente:
( ! ) Warning: date_diff() expects parameter 1 to be DateTime, string given in nce.php on line 429Call Stack# Time Memory Function Location1 0.0540 1029840 {main}( ) ..\creance.php:02 0.0695 1314168 date_diff ( ) ..\nce.php:429( ! ) Fatal error: Call to a member function format() on a non-object in C:\wamp\www\nce.php on line 430Call Stack# Time Memory Function Location1 0.0540 1029840 {main}( ) ..\nce.php:0

en fait j'essaie de comparer la date du jour à une autre datye, et que le tout me renvoit un nombre de jour,
il faut savoir que c'est une comparauison de deux chaines de meme format.

D'avance merci pour l'aide précieuse que vous pourrez m'apporter.

Re: date diff expects parameter 1 to be datetime

Posté : 30 avr. 2012, 16:34
par piotrowski-s
j'ai déjà remplacé le premier paramètre par: new DateTime("now") mais pour le second je ne sais pas quoi mettre car j'ai mon champ mysql qui est format date... mais comme ça ne le prend pas en compte à priori, il ne rentre pas en compte dans le datetime...

Re: date diff expects parameter 1 to be datetime

Posté : 30 avr. 2012, 17:14
par xTG
Le DateTime dont il te parle est un objet, pas un format. ;)
http://www.php.net/manual/fr/datetime.c ... format.php

Re: date diff expects parameter 1 to be datetime

Posté : 30 avr. 2012, 17:32
par piotrowski-s
ah oui c'est vrai, je faisais n'importe quoi et puis al j'ai fais cela:
$datetime1 = new DateTime("now");
$datetime2 = new DateTime($user['date_prescription'])
et ça fonctionne.

Merci :)