vince_30 Posté 12 Mars 2008 Posté 12 Mars 2008 Bonjour je vous explique mon petit problème, je souhaite créer un compte à rebours paramétrable sur mon site . Je vais tâcher d'être le plus claire possible, dans ce compteur il y aurai 2 parties, La partie administrateur qui permettrai de configurer le compteur de le lancer, de le mettre en pause et de le réinitialiser (pour cette partie rien de bien compliqué en javascript) C'est maintenant que cela se corse La partie visiteurs doit permettre de voir le compteurs mais au chargement de la page le compteur doit se trouver dans l'état dans laquelle il se trouve (si par exemple il est 14mn22 il doit afficher ce moment là) Pour le moment j'ai pas trouver comment faire j'avais penser à stoqué le compteur dans une base de donnée mais je suis pas sur que mon serveurs supportes autant de reqêtes Si quelqu'un à une idée je suis preneur
Portekoi Posté 12 Mars 2008 Posté 12 Mars 2008 Une piste : enregistre l'heure de départ. Lorsque le visiteur affiche la page, tu récupère cette heure et tu "retranches" le temps passé en prenant toujours l'heure du serveur. Exemple : Ton compteur à débuter à 15H23.21Sec à 15Min21Sec. Moi je me pointe 10 minutes plus tard donc à 15H33.21Sec soit un compteur à 5Min21Sec
vince_30 Posté 12 Mars 2008 Auteur Posté 12 Mars 2008 L'idée est bonne mais je veut pouvoir arreter ce compte à rebours - comment le visiteurs va le savoir que le chrono à été arreter
Portekoi Posté 12 Mars 2008 Posté 12 Mars 2008 Ben enregistre aussi l'heure à l'arrêt. Lorsque tu redéclenches ton compteur, tu l'enregistre comme un nouveau départ
vince_30 Posté 12 Mars 2008 Auteur Posté 12 Mars 2008 Ce système ne marchera étant donnée que j'aurai beaucoup d'arrêt Ce que je veut faire c'est pour suivre un match de hockey avec le temps en direcct
Portekoi Posté 12 Mars 2008 Posté 12 Mars 2008 Dans ce cas, utilise un fichier texte Et tu le réécris toutes les secondes... par super mais mieux que de requêter toutes les secondes....
Dadou Posté 12 Mars 2008 Posté 12 Mars 2008 Pourquoi le ré-écrire toute les secondes, juste indiquer dedans un tout petit peu plus d'infos : last_modif = 15:43:33;state = stop;last_time = 1333; Ou last_modif correspond à l'heure du changement d'état, state pour savoir si le chrono est en route ou non et last_time correspond au temps écoulé lors du dernier changement d'état. Si state = stop, le temps indiqué sera 1333 (enfin à toi de convertir les secondes en mm:ss), si le state = active, alors le temps indiqué sera (NOW-last_modif) + last_time puis dans la page le javascript prend le relai (moins d'écritures c'est mieux)
petit-ourson Posté 12 Mars 2008 Posté 12 Mars 2008 Tu crées un programme (Java, C, C++, ou ce que tu veux) dans lequel tu fais tourner ton compteur. Au sein même se se programme tu mets en place deux webservices : - Un qui te permettra de commander ton compteur (arrêt, remise à zéro, pause, etc, etc). - Un autre qui te permettra de récupérer les infos de ce compteur (temps, état, etc). Mais dans tous les cas, tu vas être obligé de faire toutes les secondes un accès entre le client et ton serveur pour connaitre l'état de ton compteur.
Dadou Posté 12 Mars 2008 Posté 12 Mars 2008 Ben c'est ce que je lui ai proposé 4 posts plus haut Arf ma faute, je l'avais pas compris comme ça
vince_30 Posté 13 Mars 2008 Auteur Posté 13 Mars 2008 J'ai trouvé une partie de la solution pour le compteur il me manque plus que la fonction pause voici mon code <?$dateenvoitime=date('Y-m-d H:i:s',$dateenvoi);$nbSecondes= 1200 -(mktime($dateenvoitime) % 1200);$date=date('i:s',$nbSecondes);echo $date;?><script>function Decompte() {window.document.form1.tempsRestant.value = heure+':'+min+':'+sec;;if (window.document.form1.tempsRestant.value == 0) {window.clearInterval(x);window.document.form1.submit.disabled = false;window.document.getElementById("reponse").style.visibility="visible";}}function init() { x = window.setInterval('Decompte()', 1000);}function initCompteur(){tempsSession();init();}
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant