Bonjours à tous
Voila mon problème
j'ai créer une fonction permettant d'invalider une annonce automatiquement
voila comment cela fonctionne
on cherche les messages ayant la date limite égale à la date du jours et on les invalides
le problème c'est que lors de ma requête, j'aurais aimer mettre comme condition, que la date limite soit égale ou inférieure à la date du jours, ce qui permet d'invalider des annonces dont cela n'aurais pas était fait , car personne ne se serait connecter sur le site à la date prévu.
Mais lors de mon essaie, cela fonctionnais super bien, sauf que une fois la date limite remise à jours, ça continuais quand même à m'invalider cette annonce, alors que j'ai bien vérifié, la date limite étais bien supérieur à la date du jours donc ne devrai pas être dans ma condition
Je vous met le code que vous puissiez comprendre (j'envoie mail lors de l'invalidation du message, mais j'enlève cette partie pour ne garder que l'essentiel)
le champ pour la date limite se nome TimeDate
$date = date('d-m-Y');
$DeletDate = ucwords(strftime("%d-%m-%Y",mktime(0,0,0,date("m"),date("d")+5,date("Y"))));
// on cherche les annonces valides dont timedate est inferieur ou égale à la date du jours
$timedate = mysql_query("SELECT * FROM Annonces WHERE Etat='Valid' AND TimeDate='".$date."'"); // Ici c'est une simple égalité car ce que je voulais marchait pas.
while ($rtimedate = mysql_fetch_assoc($timedate))
{
// on cherche et selection son propriétaire
$liste = mysql_query("SELECT * FROM Membres WHERE Login='".$rtimedate['Login']."'");
while ($select = mysql_fetch_assoc($liste))
{
// ici on envoie le mail et en fonction on continue avec cela:
// On met à jours la table annonces
mysql_query("UPDATE Annonces SET Etat='Nonvalid', DeletDate='".$DeletDate."', CodeId='".$Code."' WHERE Id='".$IdA."'");
echo '<br /><span style="color:#AE00FF;font-size:13px;font-weight:bold;">Annonce Invalidé</span><SCRIPT LANGUAGE="JavaScript">document.location.href="index.php"</SCRIPT>';
}
}
Pour me permettre de sélectionner les annonces dont la date limite est inférieur à la date j'ai mit comme requette
$timedate = mysql_query("SELECT * FROM Annonces WHERE Etat='Valid' AND TimeDate<='".$date."'");
ce qui devrais sélectionner les annonces sont TimeDate est égale ou inférieur à la date du jours.
Mais pourquoi malgré tous cela continue à invalider celles dont TimeDate est supérieur à la date du jours?
Merci de votre aide
j'espère que ce que j'ai dit est compréhensible
Bonnes fêtes à vous
Cordialement