PHP : Faire un évènement une fois par mois
Résolu
boss183
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
boss183 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
boss183 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
mon programme me permet actuellement d'enregistrer dans une BDD des données provenant de flux RSS, tout marche bien, j'ai trouvé comment faire, je souhaiterais juste que cette action s'effectue, par exemple, une fois par mois. Pour le moment, j'ai une page php sur laquelle il faut se rendre pour actualiser.
Est-ce que je dois récupérer la date et utiliser cette variable ou avez-vous une autre solution ?
Merci par avance
mon programme me permet actuellement d'enregistrer dans une BDD des données provenant de flux RSS, tout marche bien, j'ai trouvé comment faire, je souhaiterais juste que cette action s'effectue, par exemple, une fois par mois. Pour le moment, j'ai une page php sur laquelle il faut se rendre pour actualiser.
Est-ce que je dois récupérer la date et utiliser cette variable ou avez-vous une autre solution ?
Merci par avance
A voir également:
- PHP : Faire un évènement une fois par mois
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
8 réponses
et bien je vais te donner un exemple.
si tu as php installé via wamp sur du windows.
donc tu crée un fichier .bat ou tu écrit:
lorsque tu vas double cliquer sur ce fichier de commande ca va executer ta page php test.php
ensuite tu crée une tache planifiée qui lance ce fichier une fois par mois.
voila ^^
si tu as php installé via wamp sur du windows.
donc tu crée un fichier .bat ou tu écrit:
echo off C:\wamp\bin\php\php5.3.5\php.exe "C:\wamp\www\test\test.php"
lorsque tu vas double cliquer sur ce fichier de commande ca va executer ta page php test.php
ensuite tu crée une tache planifiée qui lance ce fichier une fois par mois.
voila ^^
AH ok je comprends, le problème c'est que j'aurais voulu intégrer cette actualisation à l'application, parce que si j'ai bien compris, tous les gens qui vont utiliser mon appli PHP doivent créer une tache planifiée et ça c'est pas trop ce que je recherche.
Je pense que je vais récup le jour avec la fonction date et avec des des test je pense que je pourrais m'en sortir.$
Merci quand même !
Je pense que je vais récup le jour avec la fonction date et avec des des test je pense que je pourrais m'en sortir.$
Merci quand même !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je sais pas trop si c'est moi qui ai pas tout bien compris mais meme si tu récupère avec la fonction date et tout et tout comment tu vas regarder en permanence si on a changé de mois??
qu'est ce qui va faire que tu vas passer dans tes test sur la date et tout?
qu'est ce qui va faire que tu vas passer dans tes test sur la date et tout?
sinon, peut être que ton hébergeur prend en charge les crons ?
http://doc.ubuntu-fr.org/cron
sinon, tu peux faire une page PHP qui va lire en BDD pour savoir si l'action a été effectuée ce mois ci, sinon l'effectuer et le noter en BDD :)
http://doc.ubuntu-fr.org/cron
sinon, tu peux faire une page PHP qui va lire en BDD pour savoir si l'action a été effectuée ce mois ci, sinon l'effectuer et le noter en BDD :)
pour l'instant il n'y a pas d'hébergeur.
Sinon ton autre solution m'intéresse, comment faire pour aller voir en BDD si l'action a été effectué ce mois-ci ?
Merci
Sinon ton autre solution m'intéresse, comment faire pour aller voir en BDD si l'action a été effectué ce mois-ci ?
Merci
// Le principe est de stocker le mois/ la semaine ou le jour où le traitement a été lancé; $test = mysql_query("select valeur from table_compteur where type='traitement' limit 1" ); // Ici j'utilise une table fictive if(mysql_num_rows($test)>0) { $mois = mysql_fetch_array($test); // Je récupère les infos de ma table if($mois['valeur']==date("m" )){ // Si la valeur stockée est égale au mois en cours... // ça veut dire que le traitement a déjà été fait, donc je ne fais rien. } else{ // Sinon, c'est que le mois en cours est passé ! // Je peux donc effectuer mon traitement à la suite // [...] // IMPORTANT ! Il ne faut pas oublier de mettre à jour la valeur dans la table pour éviter que le traitement soit effectué plusieurs fois. mysql_query("update table_compteur set valeur='".date("m" )."' where type='traitement' " ); // Hé voilà! } } else {// Si l'entrée n'existe pas dans la table, je la créée en y insérant le mois en cours; mysql_query("insert into table_compteur (type,valeur) values ('traitement','')" ); // Je donne une valeur vide pour que le traitement se lance lorsque le script sera rappelé. }
Voilà ce que j'ai fait du coup et ça marche pas mal