Supprimer un enregistrement après X jours [Résolu]

Messages postés
186
Date d'inscription
jeudi 23 décembre 2004
Dernière intervention
9 juillet 2013
- - Dernière réponse : malik7934
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malik7934
Messages postés
1663
Date d'inscription
lundi 16 septembre 2002
Dernière intervention
30 juillet 2008
2
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_GRenard
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
0
Merci
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 !
Commenter la réponse de malik7934
Messages postés
1663
Date d'inscription
lundi 16 septembre 2002
Dernière intervention
30 juillet 2008
2
0
Merci
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.
Commenter la réponse de cs_GRenard
Messages postés
186
Date d'inscription
jeudi 23 décembre 2004
Dernière intervention
9 juillet 2013
0
Merci
ça m'a l'air pas mal ça, je vois le principe......on va tester le >< ! ! !
merci
Laubro
Commenter la réponse de laubro
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
0
Merci
En tous cas, php.net >' mktime' & 'strtotime' et tu auras ton bonheur !
Commenter la réponse de malik7934

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.