2009-09-08 9 views
0

Comment puis-je comparer la date actuelle du serveur Web avec une date que j'ai stockée dans la base de données mySQL et 3 jours avant celle dans le base de données pour envoyer un email de notification?Je souhaite comparer la date actuelle de mon serveur avec une date stockée dans une base de données mySQL

+0

Je veux envoyer l'e-mail tous les mois, 3 jours avant la date stockée dans la base de données mySQL –

+0

stockez-vous que la partie de date dans votre base de données, comme l'entier '28' et que vous voulez envoyer des emails sur' 25ème de chaque mois? – Quassnoi

+0

Je stocke la date comme un type de date de mySQL YYYY-MM-DD. –

Répondre

1

Cela permet de sélectionner des lignes dont mydate est au moins 3 jours plus tôt que la date actuelle:

SELECT * 
FROM mytable 
WHERE mydate <= SYSDATE() - INTERVAL 3 DAY 
+0

Et pour envoyer automatiquement l'e-mail, puis-je utiliser un cron-job qui exécute le script tous les jours? –

+0

'@ Prema': bien sûr que vous pouvez. – Quassnoi

0

Vous avez juste besoin d'écrire un programme qui interroge le db et obtenir tous les email ids qui a (maintenant () -3) = champ dans db que vous comparez avec et envoyez un message à ces adresses e-mail et ajoutez-le sous la forme d'une tâche planifiée/crontab qui sera exécutée quotidiennement (horaire lorsque le serveur Web est moins utilisé).

0
$currentDate  =  date("Y-m-d"); 
$now = new DateTime($date_start); 
$ref = new DateTime($currentDate); 

if($now > $ref){ 
$diff = $now->diff($ref); 
printf('%d days', $diff->d);} 
else{echo"Expired";} 
Questions connexes