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 :

Date pour effacer des données périmées


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Date pour effacer des données périmées
    Bonjour à tous,

    j'ai une base de donnée dans laquelle j'ecris quelques informations:
    nom(varchar(80), prenom (varchar(50), date(date), etc..
    cela fonctionne quand je valide, les données s'écrivent correctement par ex

    Nom : base.jpg
Affichages : 67
Taille : 26,2 Ko

    j'essaye de faire une page qui test si il y a des enregistrement dont la date est supérieur à date +3 jours et si c'est le cas effacer les dits enregistrements.

    je fait des test depuis pas mal de temps et je coince.
    quelqun peux t'il m'aider SVP.

    voici mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     require('../connexion.php');
     
     //---------------------------------------------------- Je compte combien sont à effacer
     
       mysql_select_db($database_dbprotect, $bdd);
      $query_users = "SELECT count(*) AS id_temp FROM temporaire  WHERE  date + INTERVAL 3 DAY "; 
         $users = mysql_query($query_users, $bdd) or die(mysql_error());
    	 while (	$row_users = mysql_fetch_assoc($users)) {
         $nbr_demandes = $row_users['id_temp']; }
     
     
    echo "Nbr: ".$nbr_demandes;	 
     
    if($nbr_demandes > '0') {
     
     //-----------------------------------------------------Une boucle pour effacer les un apres les autres
    	$i = 0; 
         while($i < $nbr_demandes) 
         { 
    	 mysql_select_db($database_dbprotect, $bdd);
      $query_users = "SELECT * FROM temporaire WHERE  date + INTERVAL 3 DAY AND valid ='non'"; 
      $users = mysql_query($query_users, $bdd) or die(mysql_error());
    	while (	$row_users = mysql_fetch_assoc($users))
      {
    	$verif_date = $row_users['date'];
    	$delete = $row_users['id_temp'];
      }  
     
     //------------------------------------------------------- on efface
    	 echo "<BR>"."delete: ".$delete  ." Verif: ".$verif_date."<BR>";
     
       mysql_query (" DELETE FROM temporaire WHERE  id_temp = '$delete' " );
     
               $i++;  
    	 } 
    	   }
     
    ?>
    Merci par avance

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Quelque chose comme ça peut-être ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT .... FROM ....
        WHERE TO_DAYS(NOW()) - TO_DAYS(date) >= 3;

    Cette requête renvoie les enregistrements avec 3 jours d'anciennetés ou plus.

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut merci
    je vais essayer cela..

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 243
    Par défaut
    Salut,

    Un code trouvé sur un autre site.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dateMoinsDe3Jour = date('Y/m/d', strtotime('-3 day')); //Date du jour - 3 jours
    mysql_select_db($database_dbprotect, $bdd);
      $query_users = "SELECT count(*) AS id_temp FROM temporaire  WHERE date = '".$dateMoinsDe3Jour."' AND valid = 'non'";
        ......
        .......

Discussions similaires

  1. [XL-2007] Procédure Array pour effacer les données des WE et jr Fériés
    Par mouftie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/10/2014, 09h33
  2. Réponses: 6
    Dernier message: 27/09/2014, 14h18
  3. Réponses: 7
    Dernier message: 24/01/2012, 18h55
  4. Réponses: 12
    Dernier message: 14/10/2011, 21h52
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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