Définir le nombre de jours restant avant expiration...

Définir le nombre de jours restant avant expiration... - PHP - Programmation

Marsh Posté le 25-10-2005 à 08:33:48    

Salut,
 
Je suis débutant en php, et j'aimerais modifier un code.
 
Le code que je voudrais modifier est un système d'annonce, la date de création d'une annonce s'affiche sur le site. Toute les annonces on une validité de 30 jours à partir de leur publication. J'ai réussi à afficher la date d'expiration sur le site, mais je trouve que ça serai plus adapté d'afficher le nombre de jours restant avant l'expiration de l'annonce...
 
Le code est :

Code :
  1. [<?php echo "<span class=\"date\">".$create_date."</span>"; ?>&nbsp;~&nbsp;<?php echo"<font color=\"#FF9933\">",strftime ( _DATE_FORMAT_LC2, strtotime( $row->expiredate))."</font"; ?>

Comment puis-je définir le nombre de jours restant avant l'expiration de l'annonce ?
 
Merci de votre aide.


Message édité par Samy44 le 25-10-2005 à 08:37:13
Reply

Marsh Posté le 25-10-2005 à 08:33:48   

Reply

Marsh Posté le 25-10-2005 à 10:19:27    

ben tu fait (date_expiration - date_actuelle) et tu convertie le résultat en jour...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 25-10-2005 à 11:54:35    

Xav_ a écrit :

ben tu fait (date_expiration - date_actuelle) et tu convertie le résultat en jour...

Oui je suis d'accord avec la formule, mais en code php ça donne quoi ?

Reply

Marsh Posté le 25-10-2005 à 14:30:27    

J'ai trouvé ce code qui répondrais à mes besoins, mais je n'arrive pas à définir la date de début et celle de fin...
 

Code :
  1. <?
  2. // NbJours("2000-10-20", "2000-10-21" ) retourne 2
  3. function NbJours($debut, $fin) {
  4.   $tDeb = explode("-", $debut);
  5.   $tFin = explode("-", $fin);
  6.   $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) -
  7.           mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);
  8.  
  9.   return(($diff / 86400)+1);
  10. }
  11. ?>

Reply

Marsh Posté le 25-10-2005 à 14:53:04    

il faut que date_début et date_fin soit de la forme AAAA-MM-JJ (année sur 4 chiffre, mois sur 2, et jour sur 2)
parce que la fonction un explode sur le caractère "-" et s'attend a avoir les termes dans le bon ordre pour faire un mktime derriere

Message cité 1 fois
Message édité par Xav_ le 25-10-2005 à 14:53:56

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 25-10-2005 à 17:04:47    

Xav_ a écrit :

il faut que date_début et date_fin soit de la forme AAAA-MM-JJ (année sur 4 chiffre, mois sur 2, et jour sur 2)
parce que la fonction un explode sur le caractère "-" et s'attend a avoir les termes dans le bon ordre pour faire un mktime derriere

Ok, donc en faite, il faut que je convertisse la date de création de l'annonce ($create_date) et la date d'expiration (strftime ( _DATE_FORMAT_LC2, strtotime( $row->expiredate)).) en AAAA-MM-JJ.
 
Les dates sont actuellement de la forme JJ-MM-AAAA faut-il que je les convertissent en AAAA-MM-JJ ?

Reply

Marsh Posté le 25-10-2005 à 18:53:55    

ben si c'est déjà séparé par des "-", ya pas vraiment de conversion...t'a juste à a adapter la partie qui utilise les éléments du tableau après explode, pour les utiliser dans le bon sens....
 
en gros, essayer de comprendre ce que fait le code que tu as trouvé serai pitete interressant ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

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