Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Odliczanie do daty
szymon202
post 27.03.2016, 19:16:23
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

Ostrzeżenie: (0%)
-----


Witam. Mam zamiar zrobić odliczanie w formacie H:m:s do daty pobieranej z MySQL, lecz nie mam pojęcia jak się za to zabrać. Szukałem w internecie i nie znalazłem tego czego szukałem. Prosiłbym o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
mariolita
post 27.03.2016, 20:57:29
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 10
Dołączył: 24.04.2015

Ostrzeżenie: (0%)
-----


nie wiem konkretnie co chcesz zrobić ale strtotime() konwertuje czas do sekund
Go to the top of the page
+Quote Post
szymon202
post 27.03.2016, 21:16:15
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

Ostrzeżenie: (0%)
-----


Chodzi mi o takie odliczanie jak na za10groszy.pl
Go to the top of the page
+Quote Post
mariolita
post 27.03.2016, 21:29:49
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 10
Dołączył: 24.04.2015

Ostrzeżenie: (0%)
-----


to wyciągasz z bazy danych czas do kiedy dokładnie ma obliczać - konwertujesz ten czas do sekund, aktualny czas konwertujesz też do sekund i różnice wysyłasz do jquery ajaxem a później już w jquery setInterval co sekundę
Go to the top of the page
+Quote Post
Star
post 27.03.2016, 21:44:18
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


  1. $db = mysqli_connect("localhost","db_user","db_password","db_name"); // polaczenie z baza danych
  2.  
  3. $query = "SELECT * FROM `users` ORDER BY action DESC LIMIT 1"; //pobranie czasu ostatniej aktywnosci przez usera
  4. $result = mysqli_query($db, $query);
  5. $row = mysqli_fetch_array($result);
  6.  
  7. $sec = time()- strtotime( $row["action"] ); // obliczenie ilosci sekund
  8. <form name=\"time\">
  9. <input name=\"tfield\">
  10. </form>
  11. <script>
  12. function time(l_seconds)
  13. {
  14. var timestamp = l_seconds;
  15.  
  16. if (timestamp >= 0) {
  17.  
  18. var hours=parseInt(Math.abs(timestamp/3600));
  19. if(hours<10) parseInt(hours='0'+hours);
  20. var minutes=parseInt(Math.abs(((timestamp%3600)/60)));
  21. if(minutes<10) parseInt(minutes='0'+minutes);
  22. var seconds=Math.abs((timestamp-hours*3600-minutes*60));
  23. if(seconds<10) parseInt(seconds='0'+seconds);
  24.  
  25. var text = hours + ':' + minutes + ':' + seconds;
  26. document.time.tfield.value = text+ ' ';
  27.  
  28. timestamp--;
  29. }
  30. setTimeout('time('+timestamp+')',1000);
  31. }
  32. time($sec);
  33. </script>";


resultat : https://jsfiddle.net/z95zp3nd/

Ten post edytował Star 27.03.2016, 21:48:48
Go to the top of the page
+Quote Post
szymon202
post 28.03.2016, 10:38:33
Post #6





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

Ostrzeżenie: (0%)
-----


A można zrobić tak, że daję datę np. 2016-03-28 15:38 i odlicza mi do tej daty?
Go to the top of the page
+Quote Post
mariolita
post 28.03.2016, 10:50:34
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 10
Dołączył: 24.04.2015

Ostrzeżenie: (0%)
-----


tzn można to na przykład zrobić tak że co sekundę będziesz pobierać te dane i odświeżał czas

lub

musisz w jquery skonwertować sekundy do tego formatu - użylbym tu jakiegoś plugina np. datejs (nie testowałem)
Go to the top of the page
+Quote Post
Star
post 28.03.2016, 11:13:29
Post #8





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


jemu nie chodzi chyba o to .

zeby odliczac od wczesnie okreslonej daty zamien ta linijke kodu :
  1. $sec = time()- strtotime( $row["action"] ); // obliczenie ilosci sekund


zamiast time() daj

  1. $sec = strtotime( "2016-03-28 15:38" )- strtotime( $row["action"] );


Ten post edytował Star 28.03.2016, 11:13:54
Go to the top of the page
+Quote Post
szymon202
post 28.03.2016, 11:51:56
Post #9





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 13.08.2013

Ostrzeżenie: (0%)
-----


Tylko jak to zrobić, żeby każda aukcja miała inny czas?

Ten post edytował szymon202 28.03.2016, 12:11:26
Go to the top of the page
+Quote Post
Star
post 28.03.2016, 13:09:45
Post #10





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


czas aukcji ustala ten co ja tworzy ,tak jest np na allegro

a co dalej to masz w pierwszym moim poscie
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:46