Traitement en fonction des dates

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Traitement en fonction des dates

par Aureusms » 09 oct. 2008, 14:13

J'ai pas tout compris mais est ce que cela peut t'aider :
<?php
$maintenant = time();

$i=1;
while ($i < 6)
{
$tab_envoi[$i] = $maintenant-($i*30*24*60*60); //si c'est tous les trente jours
$i++;
}

if (!in_array($maintenant,$tab_envoi) //execution
?>
Qu'en penses tu ?
C'est a la seconde près mais tu peux exécuter le même principe avec ton strtotime(date(...

Traitement en fonction des dates

par jajax » 08 oct. 2008, 15:03

Bonjour,

J'ai un script qui se lance tous les 5mn et qui appel un autre fichier pour effectué des traitements.


Le fichier doit être appelé tous les mois pour un abonnement de 6 mois c'est à dire qu'il doit faire le traitement un fois par mois jusqua la sixieme mois.

le probleme c'est que le script se lance tous les 5mn donc je doit faire des tests en fonctions des dates pour que le traitement soit faite/executé ou pas du genre :

selectionner premier_date_traitement
puis tester si date_aujourhui - premier_date_traitement /30 = 0 c'est à dire on est arrivé à la deuxieme mois
selectionner deuxieme_date_traitement
puis tester si date_aujourhui - deuxieme_date_traitement /30 = 0 c'est à dire
on arrivé à la troisième mois
et ainsi de suite jusqu'au sixieme mois

les dates premier_date_traitement , deuxieme_date_traitement sont enregistré dans la base de donneé

j'ai fait comme ça et merçi de me suggeré si c'est pas normal que jai ecrit :
//$premierDATEtrait est récupérer depuis la base de données
$limit=30;
$dateAjourdhui=strtotime(date("Y-m-d"));
$datePREMIERenvoi=strtotime($premierDATEtrait);
$dateDEUXIEMEenvoi=strtotime( '+' . $limit . ' days', $datePREMIERenvoi);
$dateTROISIEMEenvoi=strtotime( '+' . $limit . ' days', $dateDEUXIEMEenvoi);
$dateQAUTRIEMEenvoi=strtotime( '+' . $limit . ' days', $dateTROISIEMEenvoi);
$dateCINQUIEMEenvoi=strtotime( '+' . $limit . ' days', $dateQAUTRIEMEenvoi);
$dateSIXIEMEenvoi=strtotime( '+' . $limit . ' days', $dateCINQUIEMEenvoi);

if($dateAjourdhui == $dateDEUXIEMEenvoi || $dateAjourdhui == $dateTROISIEMEenvoi || $dateAjourdhui == $dateQAUTRIEMEenvoi || $dateAjourdhui == $dateCINQUIEMEenvoi || $dateAjourdhui == $dateSIXIEMEenvoi )
{

// traitement divers

}
merçi