|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 236 ![]() |
Bonsoir a tous,
J'aimerais ajouter un chiffre dans ma bdd, une seule fois par jour et par membre. Mais je ne vois pas du tout comment gerer ceci au niveau de la date etc...Sans avoir d'interactivité au niveau client (sans qu'il se connecte au site). Merci d'avance pour l'aide que vous me fournirez.
|
|
|
00
|
|
|
#2 | ||
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 20 ![]() |
Citation:
Citation:
Si tu étais plus clair il me serait plus simple de t'aider. |
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
Bonjour,
regarde du côté des CRON. Et par la même occasion lit ceci : http://matthieu.developpez.com/execution_periodique/ |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Ton but est il de faire gagner par exemple une piece d'or a un membre toutes les 24 heures? Et si ton membre ne se connecte pas pendant 7 jours, le total de ses pièces aura augmenté de 7 ?
Dans ce cas tu peux utiliser une astuce qui est à la connexion d'un membre de regarder de quand date sa dernière connexion. Si elle date du jour même tu ne fais rien, sinon tu calcules le nombre de jours qui s'est passé entre les deux dates et tu peux lui ajouter automatiquement (et donc maximum une fois par jour) le crédit voulu. Ca pose par contre un problème si tu établis par exemple des classements journaliers parce que certains comptent ne seront pas a jour vu que le membre ne se sera pas connecté. Dans ce cas il faut revenir a une tache CRON qui se chargera de faire tous ces calculs une bonne fois pour toute chaque matin. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 236 ![]() |
Mon but et de faire gager dix points par jours, qui seront effacés automatiquement le jour même si non utilisés...
|
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Dans ce cas là, je verrais bien un système de ce genre là.
Au moment ou la personne se connecte, tu lui ajoutes ses 10 points si tu ne l'a pas déjà fait. Pour ne pas réattribuer des points en cas de reconnexion, tu peux garder la trace de la dernière connexion. De cette façon, si la personne ne se connecte pas, elle a pas de points et tu n'as pas à les enlevés. Maintenant, il reste à solutionner les points attribués mais non utilisés. Pour cela, il faudrait savoir si ces points viennent s'ajouter à d'autres points ? Si ces points sont uniques ou stockés à part, il te suffit à la première connexion de la journée de mettre ses points à 10 sans te soucier tu total précédent ( 0 ou autre )
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|
|
00
|
|
|
#7 | |||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 832 ![]() |
Citation:
=> Ex tous les soirs à minuit : Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|||
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 236 ![]() |
La derniere solution avec les evenements mysql me plait bien...
Cela dis, je ne comprend pas très bien où on doit programmer ceci... :/ |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 832 ![]() |
Un article à ce propos : http://atranchant.developpez.com/mysql/evenement/
Attetion à la version de ton serveur MySQL !
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 236 ![]() |
Merci de l'info.
Lorsque je fais ceci: SHOW GLOBAL VARIABLES LIKE 'event_scheduler'; Pour demander la verif de la variable, sa me met ok, en 0,0005s, mais quand je veux mettre le event_scheduler à 1, sa me répond ceci: #1193 - Unknown system variable 'event_scheduler' Je pense que c'est aps possible sur ma version... 5.0.44 |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 832 ![]() |
Oui il faut la 5.1.(qquechose)
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Heu... bonjour à tous,
Je comprends pas trop (enfin le Scheduler c'est bon) le but de la manoeuvre, tu veux créditer le compte d'un utilisateur, mais s'il utilise pas lui enlevez le crédit alloué, en quelque sorte une prime a la connexion ! Pourquoi la retirer alors ? Et pour ton algorythme : Achaque connexion d'un utilisateur: Debut verification connexion jour // credit_total = valeur réel du credit // credit = valeur du credit sans la prime à la connexion // credit_jour = prime à la connexion // Initialisation Variable INT Val_credit_jour = 10;SI "connexion_jour" == 1; ALORS je fais rien;SINON "connexion_jour" = 1;Fin verification connexion jour Debut procedure stocker TRIE par "connexion_jour" == 1; TANQUE "connexion_jour" == 1 alors SI "credit_total" < "credit"Fin procedure stockerALORS "credit" = "credit_total";SINONcredit_jour -= "Val_credit_jour"; |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 236 ![]() |
Merci de ta réponse, sa me semble interessant, mais tu as mal compris ce que je souhaitais.
Je souhaite qu'un script s'éxécute tous les jours a minuit, pouur en quelque sorte tous mes membre, juste un update a faire puisque que le crédit soit utilisé ou pas, je remet mon champ à 10 De plus je pense m'orienter vers une page qui attribut les points et que je lance grâce à un planificateur de tache! |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Donc la solution est simple,
Parcourt de la base, puis remise du champs "credit_jour" à 10, pour tous les utilisateurs. En créant la procédure à l'aide de "phpMyAdmin" ou autres..., tu la copie ensuite dans un fichier puis tu mets en place une tache avec "cron" sous linux et "at" sous windows qui va exécuté le fichier sql créé à l'heure voulu. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com