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

laubro 186 Messages postés jeudi 23 décembre 2004Date d'inscription 9 juillet 2013 Dernière intervention - 10 janv. 2005 à 14:47 - Dernière réponse : malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention
- 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
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 10 janv. 2005 à 16:18
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

Merci malik7934 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de malik7934
Meilleure réponse
cs_GRenard 1663 Messages postés lundi 16 septembre 2002Date d'inscription 30 juillet 2008 Dernière intervention - 10 janv. 2005 à 18:25
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.

Merci cs_GRenard 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_GRenard
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 10 janv. 2005 à 18:41
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
cs_GRenard 1663 Messages postés lundi 16 septembre 2002Date d'inscription 30 juillet 2008 Dernière intervention - 10 janv. 2005 à 18:55
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
laubro 186 Messages postés jeudi 23 décembre 2004Date d'inscription 9 juillet 2013 Dernière intervention - 10 janv. 2005 à 19:11
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
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 10 janv. 2005 à 20:09
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.