Une action coté serveur

Résolu/Fermé
Sheronz Messages postés 21 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 11 décembre 2009 - 29 août 2007 à 09:32
 jerome - 1 nov. 2007 à 12:17
Bonjour à tous,

Dans ma base de donnée (local) Mysql, j'ai une table membre, quand un membre s'enregistre une date d'inscription est inséré dans un champ de ma table membre, et cette même table contient également un champ 'statut' qui a pour valeur soit 0 (membre inactif), soit 1 (membre actif).

Ma question est la suivante : Comment pourrais-je faire pour programmer mon serveur de manière à ce que lorsque la date (date d'inscription + 90jours) est atteinte, alors le champ statut du membre devient inactif (statut = 0) ?

Merci par avance pour vos réponses,
SheronZ

5 réponses

Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
29 août 2007 à 09:46
Un simple script SQL exécuté chaque jour par une tâche planifiée se chargera de cela !
0
Sheronz Messages postés 21 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 11 décembre 2009 5
29 août 2007 à 09:57
Bonjour Chacual,

Merci pour ta réponse, cependant ce principe de tâche planifiée est complètement nouveau pour moi, pourrais-tu m'expliquer plus en détail la démarche, ou un lien qui pourrait m'aider ?

merci,
SheronZ
0
Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
29 août 2007 à 10:04
Grâce au tout puissant Windows (hum), tu peux créer une tâche planifiée.
C'est à dire que tu vas indiquer à ton ordinateur d'exécuter un programme tous les jours, toutes les heures, tous les lundis, etc.
Je n'ai pas de lien sous la main mais en fouillant un peu dans le panneau de configuration, tu devrais trouver assez simplement.
Le plus difficile sera de créer un script (du genre .bat) qui va lui-même lancer le programme que tu auras créé afin de se connecter à la base MySQL et exécuter la requête "UPDATE MEMBRE SET STATUT=0 WHERE DATE < SYSDATE-90".
0
Pour ma part j'ai créé une tache planifiée (Windows XP)
J'ai saisis dans le champ "executer" de l'interface de création de tache planifiée une ligne de commande avec la syntaxe suivante :

"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe " --user=nomUser --password=strPass --database=nomBDD -e "ma requete mysql;"

La premiere partie est le chemin d'accès correspondant à l'intall de mysql sur ma machine (entre guillement pour gérer correctement les espaces)
ensuite les parametres sont assez lisibles
au final et entre guillemets la chaine de caractère correspondant à ma requete (y compris le point virgule)
on peut faire des requetes qui lancent des procédures stockées donc franchement c'est plutôt très pratique


+°+
jerome
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai oublié de préciser l'option -e juste avant la requete qui correspond je ne sait plus trop à quoi mais qui est nécessaire pour que cela fonctionne.
+°+
jerome
0