IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Supprimer automatiquement un enregistrement lorsque sa date est dépassée


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Supprimer automatiquement un enregistrement lorsque sa date est dépassée
    Tout d'abord, bonjour à tous.

    Je souhaite supprimer les enregistrements d'une table lorsque la date est dépassée. Je vais vous donner un exemple pour que vous compreniez exactement où je veux en venir :

    J'ai une table avec deux champs => nom et date

    enregistrement 1 : Martin et 10-02-2013
    enregistrement 2 : Maurice et 08-02-2013
    enregistrement 3 : Le Gall et 05-02-2013

    Quand on sera le 6 février, je souhaite que l'enregistrement 3 soit supprimé.
    Quand on sera le 9 février, je souhaite que l'enregistrement 2 soit supprimé.
    Et ceci, de manière tout à fait automatique (donc sans intervention d'un quelconque utilisateur).

    J'ai déjà utilisé des procédures stockées et des triggers avec mySqlServer, j'ai l'impression que phpmyadmin use lui aussi d'outils similaires (si ce n'est exactement les mêmes). Cependant, les procédures stockées demandent d'être appelée par l'utilisateur et les triggers ne se déclenchent que lorsqu'on manipule la table (insertion, update...)...

    Voyez-vous un moyen de réussir à faire ce que je veux faire? Une piste?

    Merci d'avance

    PS : J'utilise la version: 3.5.1 de phpmyadmin en local avec WampServeur

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Sur les serveurs Unix cela se nomme un CRON

    Si tu travaille sous Windows il faut regarder du côté des tâches planifiées.

    Un ancien article mais toujours intéressant parle de ce sujet.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,
    il te faut mettre en place une tâche cron. Cron est un programme présent sous unix qui permet d'exécuter un script ou une commande à une date désirée(toutes ls x minutes, à telle heure...).pour ton cas on peut lancer cron à minuit.

    On peut demander à cron de se lancer à un instant pour exécuter le script qui supprime les enregistrements ayant des dates échues.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Merci à tous les 2 pour vos réponses rapides .
    J'ai déjà entendu parlé des tâches CRON, je n'y avais pas du tout penser. A vrai dire, je m'attendais à ce qu'on me parle d'une procédure intégrée à phpmyadmin et dont j'ignorais totalement l'existance (on peut toujours rêver hein ). Je vais lire l'article et voir ce que je peux en tirer. Mais j'ai déjà une question :

    - mon site est en local mais je compte le mettre en ligne bientôt, et sur un hébergeur gratuit. Est ce qu'un hébergeur gratuit pourrait me permettre de faire quelque chose avec CRON ? (ça m'étonnerait énormément, mais étant donné que c'est mon premier site, je ne sais pas du tout ...)

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    mon site est en local mais je compte le mettre en ligne bientôt, et sur un hébergeur gratuit. Est ce qu'un hébergeur gratuit pourrait me permettre de faire quelque chose avec CRON ? (ça m'étonnerait énormément, mais étant donné que c'est mon premier site, je ne sais pas du tout ..
    j'en doute que les hébergeurs gratuits en proposent(à vérifier)

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par Marie Br Voir le message
    Merci à tous les 2 pour vos réponses rapides .
    mon site est en local mais je compte le mettre en ligne bientôt, et sur un hébergeur gratuit. Est ce qu'un hébergeur gratuit pourrait me permettre de faire quelque chose avec CRON ? (ça m'étonnerait énormément, mais étant donné que c'est mon premier site, je ne sais pas du tout ...)
    Il est très probable que non. Déjà sur sur les hébergeurs "professionnels" tous ne le permettent pas, c'est pour cela entre autre qu'il est important de bien définir ses besoins avant de choisir un hébergeur.

    Sinon il te reste la possibilité de définir une tâche cron depuis un autre serveur genre http://www.cronjobonline.com/ (attention je ne connaît pas du tout la fiabilité de ce site). Mais bon parfois ces serveurs cessent leur activité, ou certains services peuvent devenir payant, enfin bref tu dépends d'un service externe et rien ne vaut la possibilité de faire un cron depuis son serveur.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    J'ai fait un peu de recherche sur internet et effectivement, je n'ai pas trouvé d'hébergeurs gratuits qui proposent CRON. Je vais quand même aller jeter un coup d'oeil à ton site, mais je préfère que tout soit au même endroit. Le site que je conçois n'est pas destiné à des informaticiens, et il n'est pas non plus prévu qu"il soit entretenu régulièrement. Ma table se remplirait sans arrêt sans se vider et personne ne s'appercevrait de rien si le CRON devenait inactif du jour au lendemain. Je vais donc créer une procédure stockée et l'appeler en douce par-ci, par-là pour que les mises à jour soient exécutées régulièrement Ce n'est pas super propre mais je cherche surtout à faire un truc fonctionnel.

    Merci pour vos infos, j'ai quand même gagné un temps fou parce que je ne savais pas du tout comment aborder la chose, ni ce qu'il était possible de faire.

    Bonne soirée

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par Marie Br Voir le message
    Je vais donc créer une procédure stockée et l'appeler en douce par-ci, par-là pour que les mises à jour soient exécutées régulièrement Ce n'est pas super propre mais je cherche surtout à faire un truc fonctionnel.
    Oui, avec ou sans procédure stockée c'est tout à fait possible et cela peut être assez propre.
    Genre tu crée une fonction qui est appelée dans chacun de tes scripts et qui lance l'opération si celle-ci n'a pas été effectuée depuis par exemple 24h. Il te suffit de prévoir un champ dans ta bdd (ou un fichier texte) qui enregistre la date de l'opération, ainsi elle ne sera effectuée qu'une fois par période que tu auras choisie.

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    PS : J'utilise la version: 3.5.1 de phpmyadmin en local avec WampServeur
    Le SGBD c'est pas phpmyadmin mais mysql , nuance !

    Sinon pas besoin de cron pour faire ça , l'event scheduler de mysql peut tout à fait gérer ce genre de chose :

    http://atranchant.developpez.com/mysql/evenement/

Discussions similaires

  1. [11gR2] Extraire les enregistrements dont la date est la plus recente
    Par gold15 dans le forum Débuter
    Réponses: 3
    Dernier message: 04/11/2014, 18h20
  2. Action quand la date est dépassé
    Par YoungBoy17 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 20/04/2014, 18h43
  3. [XL-2000] Problème tri d'enregistrement lorsque le classeur est partagé
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/01/2012, 09h09
  4. Réponses: 7
    Dernier message: 12/08/2011, 10h06
  5. Réponses: 1
    Dernier message: 14/12/2007, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo