Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: warak le le 26-04-2006 a 16:57:25

Titre: chronometre
Posté par: warak le le 26-04-2006 a 16:57:25

salut,
j'aimerai bien savoir comment on actione qqchose par exemple changer une variable à une date précise?
merci

Titre: Re:chronometre
Posté par: TonTon FluBB le le 26-04-2006 a 21:35:12

Tu peux récupérer la date avec la fonction date().

Ainsi, si tu fait :


Code:

<?
$date=date("d/m/Y");
echo '$date';
?>


Ensuite si tu veux déclencher une action à une date précise, tu peux utiliser la fonction if !

Titre: Re:chronometre
Posté par: tavman le le 27-04-2006 a 16:15:38

ou alors tu utilise la fonction time() (nombre de secondes écoulées depuis je sais plus quand).

if ( ( time() > $temps ) && ( l'action n'a pas encore étée faite) ) {
faire l'action;
}

un peu plus compliqué a gérer qu'avec date mais possible aussi....

Ca c'est pour que ton visiteur le fasse a ta place (le premier qui va sur la page après l'heure dite fait l'action). Mais tu peut aussi regarder du coté des taches cron...

Titre: Re:chronometre
Posté par: TonTon FluBB le le 27-04-2006 a 16:22:40

time() il me semble que c'est depuis le 1er Janvier 1970.

Sinon pour les tache cron le serveur ne le fait pas toujours :-\

Titre: Re:chronometre
Posté par: tavman le le 27-04-2006 a 21:01:56

Bon alors, pour faire un truc toutes les 24 heures par exemple, tu enregistre la date dans un fichier texte sous forme AAAAMMJJ (sans tirets ni rien pour avoir un chiffre qu'on peut manipuler).

Ensuite, tu met sur une page (la page d'index de ton site ce sera parfait) un code qui ouvre le fichier, prend le texte a l'intérieur (donc la date). Après, tu regarde la date actuelle, tu vérifie si la tache a pas étée faite après la date écrite dans le fichier et si c'est pas le cas, tu fait ce que t'as a faire et tu modifie la date dans le fichier par la date actuelle.

Pour que ca marche bien, il faut qu'au moins une personne aille sur ton site chaque jour.... Ou sinon, tu peut essayer de gérer autre chose pour faire la date X fois, X étant le nombre de jours ou ca a pas été fait....

Titre: Re:chronometre
Posté par: warak le le 28-04-2006 a 12:18:50

merci bcp pr ttes vos reponse mais je voudré savoir comment on peut afficher le chrono et ensuite quan il est a zero ke laction se fasse meme si la page a été fermée par lutilistateur si vs voulez un exemple prenez le jeu virtuel ogame.fr.Lorsque lon met en construction quelque chose un chrono se declenche comment puis je faire?
Merci

Titre: Re:chronometre
Posté par: tavman le le 28-04-2006 a 19:17:25

yes un joueur d'Ogame ;D

Bon alors le chronomètre, c'est assez simple en JavaScript en fait :
tu créer une variable qui correspond au nombre de secondes qu'il reste a avant que ton batiment ne se finisse.
Ensuite, tu fait un setInterval toutes les secondes (1000 millisecondes), tu décrémente ton chiffre, tu le traduit en heure, minutes, secondes et tu l'affiche dans un truc de ta page en utilisant

document.getElementById('id_du_truc').innerHTML = temps;

Et enfin, sache que dans Ogame, les batiments ne sont pas construits tant que tu n'a pas réactualiser une page... t'as cas faire le test avec une nouvelle colonie en construisant une mine de métal : tu met une mine de métal a faire et tu attend 1 heure après la construction avant d'actualiser la page.... et là tu te rend compte que t'as produit autant que si tu était au niveau d'avant....

Au pire sinon, tu peut toujours utiliser les XMLHTTPREQUEST, mais ca ne marchera que si la personne est connectée.... Eux ils l'utilisent dans le menu Galaxie pour lancer les sondes (pour vérifier si il t'en reste et si t'as des slots libre).

Dans tous les cas, soit tu dit que tant que la page n'est pas actualisée, le batiment n'est pas fini, soit tu doit te faire de gros calculs (tu sais depuis combien de temps la personne ne s'est pas connectée et aussi depuis combien de temps le batiment est fini alors c'est faisable mais c'est chiant) pour calculer la production réelle...

Titre: Re:chronometre
Posté par: warak le le 28-04-2006 a 20:43:40

oki mais pourrais tu mécrire le script stp car je ne connais rien du tt o javascript malheureusement merci!

Titre: Re:chronometre
Posté par: tavman le le 28-04-2006 a 23:29:11

heuu sincèrement.... non je peut pas. C'est un forum, je veut bien t'aider, mais pas faire le truc a ta place nan plus ca va bien faut pas abuser lol

je t'ai donné tous les mots clé a rechercher : innerHTML et setInterval, c'est des trucs fréquement utilisés, a toi de savoir rechercher et apprendre après.

Titre: Re:chronometre
Posté par: warak le le 29-04-2006 a 12:12:03

merci de ta reponse et je dois dire ke tu na pa tort!c est a moi dapprendre!Sinon je ne progresserai pas lol
Merci bcp


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.