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

PHP & Base de données Discussion :

Effacer toutes les lignes d'une table dont la colonne contenant un datetime epoch est echu


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut Effacer toutes les lignes d'une table dont la colonne contenant un datetime epoch est echu
    Bonjour,

    J'ai créé une table MySQL dont l'une des colonnes : 'PART_EPOCH' contient un temps au format epoch.

    Au chargement de ma page php, je voudrai effacer toutes les lignes de la tables qui contiennent la valeur d'un temps epoch inférieur au moment présent.

    Pour cela, j'ai essayé ce qui suit mais cela ne fonctionne pas.
    Echo affiche bien la variable $now_datetime, mais la requete Mysqli renvoi le message d'erreur :
    Error while clearing old events :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Acquisition du temps présent au format epoch.
    $now_datetime = new DateTime();
    echo $now_datetime->getTimestamp();
     
    // Requete MySQL pour effacer les lignes dont le temps EPOCH < timestamp présent
    $query = "DELETE FROM crud_mysqli
    WHERE PART_EPOCH < $now_datetime->getTimestamp()
    ";
    $remove_past_events = mysqli_query($conn, $query) or die ( "Error while clearing old events : " . mysqli_error( ) );
    ---

    Lorsque la requete fonctionnera, je voudrai périodiquement scruter la table MySQL pour effacer les lignes 'echues' grâce à cette requete.
    Etant donné que les evenements stocké dans la colonne "PART_EPOCH" sont des timestamps formaté pour etre des temps dont la précision est la minutes (pas de secondes)
    Je pensai crée une sorte de balise META pour rafraichir la page toutes les 15s afin que la requete de nettoyage des temps epoch échus soit executée.
    Est ce une bonne façon de procéder ou il vaut mieux procéder autrement, par exemple avec des TRIGGER MySQL ?


    Je vous remercie de votre aide,

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    As-tu essayé ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "DELETE FROM crud_mysqli WHERE PART_EPOCH < ".$now_datetime->getTimestamp();

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/04/2009, 00h42
  2. Effacer tout les champs d'une table
    Par rrbenez dans le forum C++Builder
    Réponses: 1
    Dernier message: 10/04/2008, 20h42
  3. Supprime toutes les lignes d'une table fichier
    Par Loko dans le forum WinDev
    Réponses: 38
    Dernier message: 10/12/2007, 16h21
  4. Réponses: 7
    Dernier message: 30/05/2006, 11h00
  5. Réponses: 4
    Dernier message: 11/10/2005, 15h03

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