Chronometre à partir d'une valeur stockée dans une base sql

kaobar Messages postés 13 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 6 août 2014 - 6 mars 2013 à 11:53
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 - 6 mars 2013 à 23:29
Bonjour,

sur mon travail en cours, je stocke l'heure de déclenchement d'une alarme d'incendie.
Cette valeur est stokée dans une BDD SQL sour le format TIME.

Je souhaite pouvoir affiché le temps passé depuis le déclechement sur les page de suivi des alarmes. Donc lire l'heure de déclenchement (pas de PB) la stockée dans une variable $heure_deb et à partie de cette variable affiché le temps sous forme de chronometre.

je sais faire avec php mais cela necessite un rafraichissement et c'est pas réactif.

voici le code d'un chrono qui pourrais etre un debut ??

un peu d'aide SVP.

<script type='application/javascript'>
   window.timer = (function()
   {
      var impl = { } ;
      impl.reference = null;
      impl.start function() { impl.reference new Date };
      impl.setReference function() { impl.reference arguments[0] } ;
      impl.getElapsedTime = function()
      {
         var now = new Date ;
         var elapsed = Math.round((now.getTime() - this.reference.getTime()) / 1000) ;
 
         return { days: 0
            , hours: 0
            , minutes: 0
            , seconds: elapsed
         } ;
      } ;
 
      var proto = function() {};
      proto.prototype = impl;
      return proto ;
   })();
 
   var init = function()
   {
      var clock = new timer ;
      clock.setReference(new Date) ;
      var element = document.getElementById('clock') ;
 
      var fn = function() {
         var elapsed = clock.getElapsedTime() ;
         element.textContent = elapsed.seconds + ' secondes' ;
         setTimeout(fn, 1000);
      }
      fn();
   }
 
   addEventListener('load', init) ;
   </script>

5 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
6 mars 2013 à 12:49
bonjour

essai ceci si sa peut t'aider

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script type="text/javascript">

function rebour_multiple(tempsDebut,elem){

this.tempsDebut=parseInt(tempsDebut);
this.elem=document.getElementById(elem);
var that=this
rebour();

function rebour(){

var date1 = new Date().getTime();
var date2 = new Date(tempsDebut).getTime();

var sec = (date1 - date2) / 1000;
var n = 24 * 3600;

var j = Math.floor (sec / n);
var h = Math.floor ((sec - (j * n)) / 3600);
var mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
var sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));

j= j < 10 ? '0' + j : j;
h= h < 10 ? '0' + h : h;
mn= mn < 10 ? '0' + mn : mn;
sec= sec < 10 ? '0' + sec : sec;

that.elem.firstChild.nodeValue = j+' j '+h+' h '+mn+' mn '+sec+' s';

setTimeout(rebour, 1000);	

}
}

function initcompteur(){

new rebour_multiple('03/04/2013 12:55:20','tmp');	//date de debut
new rebour_multiple('03/02/2013 21:38:16','tmp2');	//date de debut
new rebour_multiple('03/06/2013 09:12:08','tmp3');	//date de debut

}

if(typeof window.addEventListener == 'undefined'){
window.attachEvent('onload', initcompteur);
}
else{
window.addEventListener('load', initcompteur, false);
}
</script>

</head>




00/00/00/00




00/00/00/00




00/00/00/00


</html>
0
kaobar Messages postés 13 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 6 août 2014
6 mars 2013 à 18:57
bonjour,

oui c'est l'idée, mais comment mettre une variable du type $date $time a la place de:

new rebour_multiple('03/04/2013 12:55:20','tmp');

Merci
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
6 mars 2013 à 20:34
en générant la page avec php
0
kaobar Messages postés 13 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 6 août 2014
6 mars 2013 à 21:46
en générant la page avec php ??????

la je crois que c'est loin tés loin.

Evidement que ma page est en PHP, ce que je cherche c'est la syntaxe pour remplacer

new rebour_multiple('03/04/2013 12:55:20','tmp');

par

new rebour_multiple($date $time','tmp');
ce qui ne fonctionne pas avec cet exemple.

++
0

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

Posez votre question
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
6 mars 2013 à 23:29
dison que la je voit plus le php afin de formater les variables pour qu'elles s'adapte a la syntaxe
0
Rejoignez-nous