Witam!
Mam problem, otóż robie skrypt odpowiedzialny za czas. Tj. zapisuje czas do zdarzenia jakiegoś tam w bazie danych jako np.

  1. <?php
  2. $koniecpracy = time()+60*20;
  3. ?>


Teraz chcę zrobić odliczanie. Czyli za każdym razem jak wchodzę na strone dzięki PHP pobieram czas pozostały do końca, obliczam minuty, sekundy itd. i przerzucam to do skryptu JS który tu znalazłem.
  1. <?php
  2. $login = $_SESSION['login']; 
  3. require("db_connect.php");
  4. $mysql = mysql_query("select * from `praca` where login = '$login'");
  5. $dane = mysql_fetch_array($mysql);
  6. $koniec = $dane["koniec"]; 
  7. $datateraz = time(); 
  8. $godziny = $koniec - $datateraz; 
  9. $minuty = $godziny / 60; 
  10. $sekundy = $minuty / 60;
  11. $godziny = ceil($godziny);
  12. $minuty = ceil($minuty); 
  13. $sekundy = ceil($sekundy);
  14. ?>
  15. <script type="text/javascript">
  16.  
  17. var hours = 0;
  18. var min = "<?php echo $minuty ?>";
  19. var sec= "<?php echo $sekundy ?>";
  20.  
  21. function time() {
  22.  if(sec > 0) {
  23.  sec--;
  24.  } else if(min > 0) {
  25.  min--;
  26.  sec = 59;
  27.  } else if(hours > 0) {
  28.  hours--;
  29.  min = 59;
  30.  sec=59;
  31.  }
  32.  
  33.  if(hours ==0 && min==0 && sec==0) {
  34.  document.location.reload();
  35.  }
  36. document.getElementById('tm').innerHTML=
  37.  hours+":"+((min < 10) ? "0" + min : min)+":"+((sec < 10) ? "0" + sec : sec);
  38. setTimeout("time();", 1000);
  39. }
  40. </script>
  41. <body onload="time()">
  42. <span id="tm"></span>
  43. </body>



Problem w tym że jak odświerzam to sekundy się zerują i wtedy minuty są wyższe. Godzin to wogóle nie moge podać bo zamiast 0 mam np. 900 :/
Np. odliczam sobie odliczam mam powiedzmy 12:13 (12min13sek), refreshuje i mam 12:00. Co zrobić by tego uniknąć?
Może jakoś inaczej zapisywac ten czas do mysql? Co porponujecie?