PHP : Faire un évènement une fois par mois
Résolu/Fermé
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
-
2 mai 2011 à 14:50
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 4 mai 2011 à 17:19
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 4 mai 2011 à 17:19
A voir également:
- PHP : Faire un évènement une fois par mois
- Easy php - Télécharger - Divers Web & Internet
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Href php ✓ - Forum PHP
- Bouton php - Forum PHP
- Echo image php ✓ - Forum PHP
8 réponses
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
2 mai 2011 à 15:03
2 mai 2011 à 15:03
Bonjour,
un batch?
un petit .bat ou .cmd qui lance ta page en tache planifiée tous les mois?
un batch?
un petit .bat ou .cmd qui lance ta page en tache planifiée tous les mois?
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
2 mai 2011 à 15:14
2 mai 2011 à 15:14
Euh ... je ne connais pas trop ça.
Comment je peux faire ça ?
Comment je peux faire ça ?
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
2 mai 2011 à 15:19
2 mai 2011 à 15:19
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 ^^
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
2 mai 2011 à 15:56
2 mai 2011 à 15:56
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
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
2 mai 2011 à 16:03
2 mai 2011 à 16:03
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?
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
2 mai 2011 à 16:09
2 mai 2011 à 16:09
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 :)
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
2 mai 2011 à 16:17
2 mai 2011 à 16:17
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
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
2 mai 2011 à 16:22
2 mai 2011 à 16:22
tu récupère le mois et l'année avec la fonction date(), tu vérifie si la valeur obtenue est dans la BDD, si oui, tu ne fais rien, sinon, tu effectue ta tache, puis tu marque la valeur de la date dans la BDD
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
2 mai 2011 à 16:28
2 mai 2011 à 16:28
Je comprend ton raisonnement mais je ne vois pas comment récupérer la date de l'insertion de données dans la BDD ??
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
2 mai 2011 à 16:32
2 mai 2011 à 16:32
je cause pas très bien BDD, mais jette un oeil ici :
http://www.infos-du-net.com/forum/277626-21-aller-chercher-valeur-base-donnees-comparer
http://www.infos-du-net.com/forum/277626-21-aller-chercher-valeur-base-donnees-comparer
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
2 mai 2011 à 16:52
2 mai 2011 à 16:52
ah non mais récupérer une info de la BDD et l'exploiter là il y a pas de soucis, ça je le fais déjà. Sauf que toi tu me parles d'une page qui va voir si l'action a été enregistrée ce mois-ci , mais j'ai pas l'impression que la date d'insertion dans la bdd soit conservée.
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
2 mai 2011 à 17:11
2 mai 2011 à 17:11
non, tu insert ta propre variable de date dans ta BDD
tu génère le mois et l'année dans une variable
tu compare ta variable aux entrées de la BDD
si l'entrée existe, tu ne fais rien
si elle n'existe pas, tu lance ton script et tu marque ta variable date dans la BDD
tu génère le mois et l'année dans une variable
tu compare ta variable aux entrées de la BDD
si l'entrée existe, tu ne fais rien
si elle n'existe pas, tu lance ton script et tu marque ta variable date dans la BDD
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
4 mai 2011 à 17:19
4 mai 2011 à 17:19
// 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