Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1369 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comparaison entre deux dates ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison entre deux dates ?

n°311046
coconutes4
Posté le 17-02-2003 à 10:47:21  profilanswer
 

salut!:)
comment faire pour comparer deux dates ?
mes deux dates : la premiere stocker sur db et l'autre la date d'aujourd'hui
je voudrais mettre un truc genre :
<?
if($date1 est entre date2 et + l'infi)
 
echo "$date1";
}
else
echo '';
}
?>
 
Quel est le bon code s'il existe ?
merci 'avance

mood
Publicité
Posté le 17-02-2003 à 10:47:21  profilanswer
 

n°311049
kileak2
Posté le 17-02-2003 à 10:50:05  profilanswer
 

coconutes4 a écrit :

salut!:)
comment faire pour comparer deux dates ?
mes deux dates : la premiere stocker sur db et l'autre la date d'aujourd'hui
je voudrais mettre un truc genre :
<?
if($date1 est entre date2 et + l'infi)
 
echo "$date1";
}
else
echo '';
}
?>
 
Quel est le bon code s'il existe ?
merci 'avance


 
ben tu fais une comparaison lexicographique de tes dates sous la forme ssaa-mm-jj et c gagné !
 
la fction php :
&tadate = Date(Y-m-d) ;
un truc comme ca
 
ya le manuel php pour plus de détail

n°311053
coconutes4
Posté le 17-02-2003 à 10:52:44  profilanswer
 

je ne veut pas quelles soit égales mais soit comprise entre - l'infini et date soit entre date et + infini....

n°311086
kileak2
Posté le 17-02-2003 à 11:15:33  profilanswer
 

coconutes4 a écrit :

je ne veut pas quelles soit égales mais soit comprise entre - l'infini et date soit entre date et + infini....


 
je pige pas  :heink:  
 
si t'as date du jour est 2003-02-17
 
tu peux comparer avec une autre avec les opérateurs <, >, <=, >=
Supérieur et Inférieur à qq chose, c l'infini inclu non ?
 
excuse mais je ne vois pas

n°311375
coconutes4
Posté le 17-02-2003 à 16:42:42  profilanswer
 

ben en fait
la date du jour est 10/02/2003
si jamais la date se trouve "avant" exemple : 09/02/2003 on n'affiche pas mais si la date
est 11/02:2003 ON AFFICHE
vous m'avez compris ?:(

n°311397
beleg
黑社會
Posté le 17-02-2003 à 17:13:29  profilanswer
 

date > datedujour
date < datedujour
 
date et datedujour etant au format YYYYMMDD ou YYYYMMDDhhmmss ou plus precis encore ...
 

n°311897
coconutes4
Posté le 18-02-2003 à 11:59:28  profilanswer
 

Code :
  1. <?
  2. $sql = "SELECT * FROM planning order by titre ";
  3. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  4. while($data = mysql_fetch_array($req))
  5. $date    = date("Y/m/d H:i" );
  6.    {
  7. echo '<tr>
  8.             <td width="27%">
  9.               <font face="Arial" size="2"> <b>'.$data['titre'].'</b></font>
  10.             </td>
  11.               </a>
  12.             <td width="19%">
  13.               <font face="Arial" size="1">';
  14. if ('.$data['japon'].'<$date)
  15. {
  16. echo 'vieux';
  17. }
  18. else
  19. {
  20. echo ''.$data['japon'].'';
  21. }
  22. echo'
  23. </font>
  24. ';
  25. ?>


 
ça me met une erreurpour la ligne if(data etc ...
 
qq peut m'aider ?

n°311906
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 18-02-2003 à 12:13:04  profilanswer
 

coconutes4 a écrit :

Code :
  1. if ('.$data['japon'].'<$date)
  2. {
  3. echo 'vieux';
  4. }
  5. else
  6. {
  7. echo ''.$data['japon'].'';
  8. ?>


 
ça me met une erreurpour la ligne if(data etc ...
 
qq peut m'aider ?


 
 :heink: Ba forcément, tu mets des ' partout et qui ne servent à rien. ' est un délimiteur de chaîne de caractère, donc tu peux écrire : echo 'coucou';
Mais si tu veux balancer des variables et tout, fais plutôt : echo $data['japon']; (pas besoin de ';)
Dans ton code :

Code :
  1. echo $data['japon'];


Quant au if, la ligne est effectivement complètement erronée à cause du même problème, écris plutôt :

Code :
  1. if ($data['japon']<$date)


 
Vala. Evite au maximum de faire ce genre de trucs (je parle du '.$data['japon'].' qui ne veut rien dire), ça marchera rarement et si c'est le cas, c'est un nid à bugs. Et en plus ça rend le code illisible.

n°311980
nraynaud
lol
Posté le 18-02-2003 à 13:54:19  profilanswer
 

t'as le choix ?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-désolé

n°312020
kileak2
Posté le 18-02-2003 à 14:46:18  profilanswer
 

coconutes4 a écrit :

ben en fait
la date du jour est 10/02/2003
si jamais la date se trouve "avant" exemple : 09/02/2003 on n'affiche pas mais si la date
est 11/02:2003 ON AFFICHE
vous m'avez compris ?:(


 
Comme je te l'ai dis, le mieux pour traiter une date c l'ordre :
yyyymmjj
si tu as une base avec des dates à la française (jjmmaaaa) je te conseille de changer !
Il est facile de changer de yyyymmjj en jjmmaaaa avec un petit script pour l'affichage. Mais la pour tester la taille d'une date c l'enfer !
 
Mais comme tu veux :)
 
a+

mood
Publicité
Posté le 18-02-2003 à 14:46:18  profilanswer
 

n°312164
coconutes4
Posté le 18-02-2003 à 16:53:34  profilanswer
 

merci je vais essayer

n°312176
coconutes4
Posté le 18-02-2003 à 16:58:46  profilanswer
 

Code :
  1. <?
  2. echo '<img border="0" src="diz/planning.jpg" width="453" height="20"><br><br>';
  3. echo '<div align="center"><table border="0" bordercolor="#000000" width="402" cellspacing="0" cellpadding="0" height="25">
  4.   <tr>
  5.     <td width="100%" bordercolor="#000000" bgcolor="#ffffff" height="25">
  6.       <center>
  7.         <table border="1" bordercolor="#000000" width="100%" cellspacing="0" cellpadding="2">
  8.           <tr>
  9.            <td width="27%">
  10.               <font face="Arial" size="1"></font>
  11.             </td>
  12.             <td width="19%">
  13.               <font face="Arial" size="1"><img src="http://www.football365.fr/mediastore/foot/images/pays/drapeau_japon.gif" >
  14.             </td>
  15.             <td width="25%">
  16.               <font face="Arial" size="1"><img src="http://users.pandora.be/vaccine.damage.prevention/USA.gif" width="52" height="36"></font>
  17.             </td>
  18.             <td width="29%">
  19.               <font face="Arial" size="1"><img src="http://www.mitanoo.com/Francefl.jpg" width="52" height="36"><font>
  20.       </font>
  21.             </td>
  22.           </tr>
  23.          
  24. ';
  25. $sql = "SELECT * FROM planning order by titre ";
  26. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  27. while($data = mysql_fetch_array($req))
  28. $date    = date("Y/m/d H:i" );
  29.    {
  30. echo '<tr>
  31.             <td width="27%">
  32.               <font face="Arial" size="2"> <b>'.$data['titre'].'</b></font>
  33.             </td>
  34.               </a>
  35.             <td width="19%">
  36.               <font face="Arial" size="1">';
  37. if ($data['japon']<$date)
  38. {
  39. echo 'vieux';
  40. }
  41. else
  42. {
  43. echo $data['japon'];
  44. }
  45. echo'
  46. </font>
  47.             <td width="25%">
  48.               <font face="Arial" size="1"> '.$data['usa'].'</font>
  49.             <td width="29%">
  50.               <font face="Arial" size="1"> '.$data['france'].'</font>
  51. </tr>
  52. ';
  53. }
  54. echo '
  55.   </tr>
  56.         </table>
  57.   </center>
  58.       <table border="0" width="100%" cellspacing="0" cellpadding="2" height="26">
  59.               </table>
  60.     </td>
  61.     </tr>
  62.   </table>
  63. </div>
  64. </body>
  65. </html>
  66. ';
  67. ?>


 
ca ne marche pas je désespére

n°312601
beleg
黑社會
Posté le 18-02-2003 à 21:56:18  profilanswer
 

bah pourtant c pas sorcier meme si ton format de date est pas top :

Code :
  1. <?php 
  2. //phpinfo();
  3. $dateA = date("Y/m/d H:i" );
  4. $dateB = "2003/02/18 21:58";
  5. echo $dateA." A <br>";
  6. echo $dateB." B <br>";
  7. if ($dateA > $dateB)
  8. echo "A>B";
  9. else
  10. echo "A<B";   
  11. ?>


 
t sur que la date est dans le champ japon


Message édité par beleg le 18-02-2003 à 21:57:31
n°313390
coconutes4
Posté le 19-02-2003 à 18:38:52  profilanswer
 

oui oui mais de toute maniére ca m'affiche bien "vieux" : donc date dépassé mais le seul probléme est que ca n'affiche rien d'autre ^^
me^me pas les titres ...

Code :
  1. $sql = "SELECT * FROM planning order by titre "; 
  2. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
  3. while($data = mysql_fetch_array($req)) 
  4. $date    = date("Y/m/d H:i" );
  5.   { 
  6. echo '<tr>
  7.            <td width="27%">
  8.              <font face="Arial" size="2"> <b>'.$data['titre'].'</b></font>
  9.            </td>

n°313398
dsls
Posté le 19-02-2003 à 18:46:01  profilanswer
 

nraynaud a écrit :

t'as le choix ?


Tant que c'est pas une date fétiche ...
[:dehors2]
 

n°313403
coconutes4
Posté le 19-02-2003 à 18:52:14  profilanswer
 

svp ...

n°313573
beleg
黑社會
Posté le 19-02-2003 à 22:46:14  profilanswer
 


 
Ton while boucle sur une seule ligne ... tas oublié les accolades.  
 
Taurais du afficher $data pr voir quil etait vide.

n°313810
coconutes4
Posté le 20-02-2003 à 10:56:39  profilanswer
 

Code :
  1. $sql = "SELECT * FROM planning order by titre "; 
  2.   $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
  3.   while($data = mysql_fetch_array($req)) 
  4.   $date    = date("Y/m/d H:i" ); 
  5.     {


elle y est l'accolade ...

n°313819
beleg
黑社會
Posté le 20-02-2003 à 11:00:54  profilanswer
 


il faut pas les mettre nimporte ou les accolades  :o  
generalement ... on fait plutot
 
while ()
{
 
 
}  :sarcastic:  

n°313986
coconutes4
Posté le 20-02-2003 à 13:46:09  profilanswer
 

ha il faut que je mette le $date a l'intereieur de l'accolade ?

n°314000
beleg
黑社會
Posté le 20-02-2003 à 14:02:47  profilanswer
 

euh ... la base de la prog ... ca te dit ...
 
les boucles les conditions ...
 
pkoi mettre une instruction  qui fait toujours la meme chose ds une boucle alors que la vairiable ne changera pas ...
 
$date = ....
while (mysql_fetch ..)
{
if $date >  
 
 
}

n°314172
coconutes4
Posté le 20-02-2003 à 16:46:32  profilanswer
 

oki merci :pfff:  :pfff:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comparaison entre deux dates ?

 

Sujets relatifs
[VB.NET] Initialisation et comparaisoncomparaison d'images
[Perl] Comment ignorer la casse dans une comparaison ?comparaison de chaine "case-insensitive" en c++
Comparaison de tableau en PHP[PHP] Calculer le nombre de jours entre deux dates ? [résolu]
problème de comparaison de date (mysql).Comparaison de dates JavaScript et Access.... HELP !!!!
Access - comparaison de dates[JAVA] comparaison de dates
Plus de sujets relatifs à : Comparaison entre deux dates ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR