Bonjour a tous je bloque sur ce sujet. Je cherche si il n'y a pas la possibilité de récupéré grâce a la requête toute les données de plus d'un an. je poursuit mes recherche je post ici si j'avais je trouve la solution.
Bonjour a tous je bloque sur ce sujet. Je cherche si il n'y a pas la possibilité de récupéré grâce a la requête toute les données de plus d'un an. je poursuit mes recherche je post ici si j'avais je trouve la solution.
Est- ce que dans ta table il y a un champ date ou timestamp ?
Si oui, tu peux requêter en stipulant la date dans la clause WHERE de ta requête
Pour être plus clair j'ai bien un champ date dans une table qui s'appelle historique ou j'enregistre les dernière action des membres et je souhaite exécuter un tache cron qui archive les membres sans activité depuis plus d'un an. Cette tache sera exécutée 1 fois par mois.
Et bien comme dit par heretik25, tu construis la requête qui te permet de récupérer les colonnes souhaitées et dans le WHERE tu insère une condition de restriction sur la date.
Un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT -- les colonnes nécessaires et pas étoile FROM la_table WHERE la_colonne_date < DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)
je me suis plus compliqué la vie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // Date il y a un an $jour = date("Y-m-d"); $un_an = date("Y-m-d", strtotime("-1 year", strtotime($jour))); if($liste_historique['date'] != NULL) { if($un_an>$liste_historique['date']) { echo 'archiver'.$liste_historique['id_candidat'].'<br>'; } }
en effet c'est beaucoup mieux pour la lisibilité.
Merci a vous j'étais parti dans du trop compliqué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // Ont archive le candidats si il a un an sans activité $historique = $connexion -> prepare("SELECT DISTINCT id_candidat FROM historique WHERE date < DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR) ORDER BY id_candidat "); $historique -> BindValue('id_candidat', $num_candidat); $historique -> execute(); while($liste_historique = $historique -> fetch()) { echo 'archiver'.$liste_historique['id_candidat'].'<br>'; }
Partager