Comment supprimer les données de plus de 5 jours dans la table Mysql ?
Bonjour,
J'ai la date d'inscription de chaque membre. J'ai la date actuelle. Je cherche à supprimer les données vieilles de 5 jours dont le champ (inscrption) serait égal à(attente) et envoyer des emails aux membres comme quoi le délai pour confirmer leur inscription est dépassée et que le membre a été supprimé. Il faut que ça se fasse automatiquement.
Citation:
Voici les champs de la table membres
$dateInscription est la date de l'inscrption du membre cette valeur est par exemple 08.02.2007
$dateActuelle est la date actuelle : date('d.m.Y')
$mailMembre est l'adresse email du membre
Ce que j'aimerais faire, c'est supprimer automatiquement toutes les inscriptions qui datent plus de 5 jours et envoyer un mail aux membres supprimés
Code:
1 2 3 4 5 6
| //la base de donnée
$query_calcul = sprintf("DELETE FROM membres WHERE dateInscription = %s", $dateActuelle);
$calcul = mysql_query($query_calcul, $idConnex) or die(mysql_error());
$row_calcul = mysql_fetch_assoc($calcul);
$total_calcul = mysql_num_rows($calcul);
//ça peut donner un résultat juste, mais est ce que c'est bien? Quelque chose de plus optimal (PLEASE) |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| //TRAITEMENT DES COURRIERS AUX MEMBRES SUPPRIMES
/*
Comment récupérer leurs emails sans avoir à faire deux fois la requettes?
Comme je suis débutant, la seule possibilité que j'ai, c'est de faire une première requette (SELECT * FROM membres WHERE dateInscription = $dateActuelle)
et récupérer les emails ensuite les envoyer. Exemple de ce que j'ai fait pas du tout optimal. Je sais qu'il peut y avoir un moyen d'envoyer des emails et de supprimer sans passer par ce long chemin. AIDEZ-MOI SVP
*/
//Code envoyer un email
$texte = "Bonjour $prenomMembre<br>Votre compte a été supprimé après 5 jours. Veuillez-nous contacter.<br><br>La Direction";
$query_rsReference = "SELECT * FROM membres";
$rsReference = mysql_query($query_rsReference , $idConnex) or die("Problème lors de votre requête!");
$res= mysql_numrows($rsReference);
$i=0;
while($i < $res)
{
$email= mysql_result($rsReference,$i,"email");
$objet = "Concerne votre compte";
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete = "Reply-to: Garderie Fleuris <info@garderiefleuris.com>\r\n";
$entete .= "From: Garderie Fleuris <info@garderiefleuris.com>\r\n";
$entetes .= "Content-Transfert-Encoding: 8bit\r\n";
$entetes .= "X-Mailer:PHP/".phpversion()."\r\n";
$message = stripslashes($texte);
mail($email, $objet, $message, $entete);
$i++;
}
mysql_close();
} |
D'avance je vous remercie beaucoup