par
ouckileou » 05 mars 2006, 19:24
Je voulais dire : voir le code que tu envoies à MySQL, comme ceci :
$dansdixjours = mktime(0, 0, 0, date("m") , date("d") - 10, date("Y"));
$requete = "DELETE FROM Liste WHERE date1 >='$dansdixjours'";
echo $requete;
Code qui doit ressembler à ça :
On voit donc bien que ça ne peut pas fonctionner
Pour garder ton principe, il te suffit de reformater ce timestamp (nombre de secondes) au bon format : AAAA-MM-JJ
Tu peux le faire avec la fonction date() :
string date ( string format [, int timestamp] )
Facile donc, tu lui dis quel format tu veux, tu lui fournis ton timestamp, et voilà :
$Tdansdixjours = mktime(0, 0, 0, date("m") , date("d") - 10, date("Y")); // ce serait plutôt "il y a 10 jours"
$Ddansdixjours = date("Y-m-d", $Tdansdixjours);
$requete = "DELETE FROM Liste WHERE date1 <='$Ddansdixjours'";
Là ça devrait fonctionner
Pour la version
full MySQL :
Code : Tout sélectionner
DELETE FROM Liste
WHERE date1 <= DATE_SUB(NOW(), INTERVAL 10 DAY);
Je voulais dire : voir le code que tu envoies à MySQL, comme ceci :
[php]
$dansdixjours = mktime(0, 0, 0, date("m") , date("d") - 10, date("Y"));
$requete = "DELETE FROM Liste WHERE date1 >='$dansdixjours'";
echo $requete;
[/php]
Code qui doit ressembler à ça :
[code]
DELETE FROM Liste WHERE date1 >= '12345679890'
[/code]
On voit donc bien que ça ne peut pas fonctionner
Pour garder ton principe, il te suffit de reformater ce timestamp (nombre de secondes) au bon format : AAAA-MM-JJ
Tu peux le faire avec la fonction date() :
[b]string date ( string format [, int timestamp] )[/b]
Facile donc, tu lui dis quel format tu veux, tu lui fournis ton timestamp, et voilà :
[php]
$Tdansdixjours = mktime(0, 0, 0, date("m") , date("d") - 10, date("Y")); // ce serait plutôt "il y a 10 jours"
$Ddansdixjours = date("Y-m-d", $Tdansdixjours);
$requete = "DELETE FROM Liste WHERE date1 <='$Ddansdixjours'";
[/php]
Là ça devrait fonctionner ;)
Pour la version [i]full MySQL[/i] :
[code]
DELETE FROM Liste
WHERE date1 <= DATE_SUB(NOW(), INTERVAL 10 DAY);
[/code]