JeuWeb - Crée ton jeu par navigateur
Exécution d'un script PHP tous les jours - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Exécution d'un script PHP tous les jours (/showthread.php?tid=1269)

Pages : 1 2


Exécution d'un script PHP tous les jours - juju17 - 11-06-2007

Bonjour,

Je suis en train de faire un jeu de simulation d'élevage virtuelle d'animal, et donc tous les jours les indicateurs de nourriture, soif, santé..etc diminue.

Donc je dois exécuter des requêtes de mises a jours des tables tous les jours. Seuleument je ne vois pas trop comment faire ! Car le code doit s'éxécuter une fois par jour même si la personne ne se connecte pas !

Merci d'avance pour vos réponses


RE: Exécution d'un script PHP tous les jours - carlou - 11-06-2007

si tu avais un peu cherché sur le fofo tu aurais trouvé la reponse a ta question ^^

---->Tâche cron


RE: Exécution d'un script PHP tous les jours - Loetheri - 11-06-2007

Le cron n'est pas obligatoire. Déjà, cron est un programme qui permet d'exécuter une commande à certains moments (tous les jours, tous les mardi et jeudi, par exemple).

Maintenant, dans ton cas, cron n'est pas obligatoire. Tu peux utiliser un système qui vérifie combien de tours/jours/heures se sont déroulées entre la dernière connexion et la nouvelle. Et de là faire, tes calculs.


RE: Exécution d'un script PHP tous les jours - carlou - 11-06-2007

dans son cas il veut meme qd le joueur se connecte pas donc 2 possibilites, soit par une tache cron effectuée tous les jours, soit via un autre joueur qui actualise les autres mais c'est pas tip top


RE: Exécution d'un script PHP tous les jours - Loetheri - 11-06-2007

Je ne dois pas lire les choses avec autant de certitudes ... Mais bon.


RE: Exécution d'un script PHP tous les jours - carlou - 11-06-2007

juju17 a écrit :Car le code doit s'éxécuter une fois par jour même si la personne ne se connecte pas !

apres je me trompe peut etre ou alors j'ai zapé un truc ^^


RE: Exécution d'un script PHP tous les jours - jo_link_noir - 11-06-2007

Loetheri a écrit :Maintenant, dans ton cas, cron n'est pas obligatoire. Tu peux utiliser un système qui vérifie combien de tours/jours/heures se sont déroulées entre la dernière connexion et la nouvelle. Et de là faire, tes calculs.

je suis tout à fait d'accord avec ça, un p'tit calcule pour savoir combien de temps c'est écoulé depuis la dernière requête. Avec ça tu sais combien de jours se sont écoulé
après une boucle ou un calcule du genre : $soif -= $jour * 4
et hop c'est fini
puis l'avantage, tu peux évalué ça soif par heure par minute puis -même si c'est inutile Cool - par seconde


RE: Exécution d'un script PHP tous les jours - carlou - 11-06-2007

oui, de toutes facons, actualiser à la connexion du joueur reste qd meme une tres bonne solution


RE: Exécution d'un script PHP tous les jours - juju17 - 11-06-2007

Merci pour vos réponses.

En effet, j'avais pensé a enregistré la derniére date de connexion du joueur et ainsi lorsqu'il se connecte je modifié la base de données (soif, faim..) suivant la date de la derniére connexion. Mais le probléme c'est que si le joueur se connecte plusieurs fois dans la même journée, les requêtes sont effectué plusieurs fois !!

En fait je fais la différence enre la dernier date de connexion et aujourd'hui, si c'est égal à 1 je fais les requêtes si égal à 2 je fais les requêtes..etc. Mais si le joueru se conecte plusieurs fois ça ne va pas car les requête sont éxécuté a chaque fois !

Comment faire pour que les requêtes s'éxécute qu'une seule fois ?
J'avais pensé à mettre une variable (variable $fait), donc si les requêtes sont faite je met ok dans $fait sinon rien. Mais le probléme c'est que tous les jours la variable $fait doit être remise à 0 !

Donc je ne sais pas trop comment faire..


RE: Exécution d'un script PHP tous les jours - Loetheri - 11-06-2007

Le problème que tu décris là est un problème de programmation.

Le système que j'ai mis en avant est totalement fonctionnel s'il est bien codé.