Supprimer un enregistrement après X jours

Résolu
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 10 janv. 2005 à 14:47
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 - 10 janv. 2005 à 20:09
bonjour,

je suis sur une partie petites annonces de mon site, mais je souhaiterai limiter dans la durée
la présence de l'annonce (1 semaine ou 2 ou 3 ou 4)
Y a t'il un "truc" pour faire en sorte de supprimer l'enregistrement automatiquement au bout de X jours donc ?
Genre dans le formulaire, une case a cocher 1 sem / 2 sem / 3 sem / 4 sem

Car je ne souhaiterait pas a avoir à intervenir manuellement sur toutes les annonces à supprimer (si jamais le site marche ! ! ! )

Merci
Laubro

6 réponses

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2005 à 16:18
J'ai fait un script pour annuler des comptes non activés après 24 h dans le cadre d'un développement perso... je te le mets là:



<HTML><TITLE>Comptes &#233;limin&#233;s</TITLE>





<?php

$serveur = '*****';

$login = '*****';

$mdp = '*****';

$base = '*****';

mysql_connect($serveur,$login,$mdp);

mysql_select_db($base);



$select="SELECT * FROM ***** ORDER BY date";

$resultat=mysql_query($select);



$i = 0;



while($ligne=mysql_fetch_array($resultat)){



    $curday  = mktime(0 , 0 , 0 , date("m") , date("d") , date("Y"));

    $oldday  = strtotime($ligne['date']);

    $curtime = mktime(date("H") , date("i") , 0 , date("m") , date("d") , date("Y"));

    $oldtime = strtotime($ligne['time']);



    if ($curday - $oldday > 0){

        if (($curtime-$oldtime)>0){ // si cela fait pluse de 24h

            $nom = $ligne['login'];

              echo
"La date d'expiration est
d&#233;pass&#233;e pour ".$nom."
";

            $select2="DELETE FROM ****** WHERE login = '$nom';";

            $resultat2=mysql_query($select2);

            $i=$i+1;

        }

    }

}





echo "
".$i." compte(s) annul&#233;(s)";

?>

</HTML>





Ensuite tu exécutes toi même une fois de temps en temps ton script ou
tu automatises avec cron (http://www.phpcs.com/code.aspx?ID=28740)...
et si tu n'as pas accès à cron, ben tu utilises mais c'est moi drôle de prendre du tout mâché



See you, Malik7934
3
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
10 janv. 2005 à 18:25
Pas besoin de cron... tu fais juste une vérification de date... si elle dépasse X temps, tu ne laffiches pas simplement...

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
3
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2005 à 18:41
cron, c'est pour la beauté du geste , c'est clair que tu n'en as pas besoin si tu n'as que ça à gérer, mais si tu bosses sur x sites.... ça sert !
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
10 janv. 2005 à 18:55
Sinon, si tu veux VRAIMENT supprimer tu peux faire une requête SQL du
style DELETE FROM xxx WHERE date_dinsertion < NOW()-3600



Ici, il va supprimer tout ce qui est plus vieux d'une heure...

Si tu veux garder des backup, tu fais simplement un

SELECT ... FROM xxx WHERE date_dinsertion > NOW() - 3600




MMM j'espere je me suis pas trompé dans les < et >... sinon tu comprends le principe...

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
10 janv. 2005 à 19:11
ça m'a l'air pas mal ça, je vois le principe......on va tester le >< ! ! !
merci
Laubro
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2005 à 20:09
En tous cas, php.net >' mktime' & 'strtotime' et tu auras ton bonheur !
0
Rejoignez-nous