Calcul d'une Date d'expiration php/sql
Résolu
nicusjam
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
nicusjam Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
nicusjam Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici mon probleme:
j'extraie une date de ma table ($date_depot_annonce) et la retourne sans soucis.
Le principe de ce que je cherche à faire :
A partir de cette date de depot l'annonce a une durée de vie de 3 mois, je souhaite afficher le nombre de jours restant et qu'au bout de trois mois (ou 90 jours) elle soit effacée.
avec un truc du style : if $date_depot_candidature>90jours {req delete;}else { echo"reste".$jours."jours avant delete";}
Et je galère avec timestamp et mktime. Pô facile !
Voici une portion de code, si ca vous parle je suis preneur de vos avis !!!!
Merci d'avance pour vos reflexions !!! Nicus
voici mon probleme:
j'extraie une date de ma table ($date_depot_annonce) et la retourne sans soucis.
Le principe de ce que je cherche à faire :
A partir de cette date de depot l'annonce a une durée de vie de 3 mois, je souhaite afficher le nombre de jours restant et qu'au bout de trois mois (ou 90 jours) elle soit effacée.
avec un truc du style : if $date_depot_candidature>90jours {req delete;}else { echo"reste".$jours."jours avant delete";}
Et je galère avec timestamp et mktime. Pô facile !
Voici une portion de code, si ca vous parle je suis preneur de vos avis !!!!
//Ici la date sort au format sql et je la met au format francais avec fonction php "anbafey" $date_depot_candidature=anbafey_date_format_francais(($ligne->date_depot_candidature));; $timestamp_now = mktime(0, 0, 0, date("d"), date("m"), date("Y")); $now = date("d-m-Y", $timestamp_now); $date1 = $date_depot_candidature; $date2 = $now; $nbre_jours= abs($date1-$date2); echo $nbre_jours."jours/90<br>"; //Extraction des données print_r(list($jour1, $mois1, $annee1) = explode('-', $date1)."<br>"); print_r(list($jour2, $mois2, $annee2) = explode('-', $date2)."<br>"); //Calcul des timestamp $timestamp1 = mktime(0,0,0,$mois1,$jour1,$annee1); $timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2); echo abs($timestamp2 - $timestamp1)/86400; //Affichage du nombre de jours
Merci d'avance pour vos reflexions !!! Nicus
A voir également:
- Calcul d'une Date d'expiration php/sql
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Airpods 3 date de sortie - Guide
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
2 réponses
Bon apres brainstorming je vous livre un script qui, adapté; me donne le resultat escompté.
<?php ////debut // recupere les informations de la date de depot -> // Ici la date est au format anglais en sortie sql et remise en format francais // ---------------------------------------------------------- $id_candidature_aj=$ligne->id_candidature; $date_depot_candidature=anbafey_date_format_francais(($ligne->date_depot_candidature)); //echo "date depot :".$date_depot_candidature."<br>"; //ici decoupage de la date list($jour1, $mois1, $annee1) = explode('-', $date_depot_candidature); $mois_depot = $mois1; //recupere le mois en 1er car format date=date("m-d-Y") $jours_depot = $jour1; //recupere le jour $annee_depot = $annee1; //recupere l annee // ---------------------------------------------------------- // fin recuperation des informations de la date donnée // recupere les informations de la date d'aujourdhui // ---------------------------------------------------------- $temps = time(); $date = getdate($temps); $mois_expiration = $date[mon]; //recupere le mois $jours_expiration = $date[mday]; //recupere le jour $annee_expiration = $date[year]; //recupere l annee // ---------------------------------------------------------- // fin recuperation des informations de la date d'aujourdhui $Date_depot = mktime( 0, 0, 0, $mois_depot, $jours_depot, $annee_depot ); // retourne le timestamp UNIX de la date $Date_expiration = mktime( 0, 0, 0, $mois_expiration, $jours_expiration, $annee_expiration ); // retourne le timestamp UNIX de la date // ---------------------------------------------------------- $ecartjour = ($Date_expiration - $Date_depot) / (60*60*24); // Calcul les secondes, minutes et heures donc lecart en jours entre les 2 dates // ---------------------------------------------------------- // print "Aujourdhui le: $jours_expiration - $mois_expiration - $annee_expiration "; // Retourne la date daujourdhui // print "<br>"; // retourne 1 retour a la ligne if (abs(90-$ecartjour)<90){ print abs(90-$ecartjour) ." jours avant Delete";} else{$sql_candidature_del=mysql_query("DELETE FROM tb_accastillage_candidature WHERE id_candidature='$id_candidature_aj';") or die("*Requête impossible !");} // Retourne le nombre de jours entre les 2 dates //fin