szymon202
27.03.2016, 19:16:23
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.
mariolita
27.03.2016, 20:57:29
nie wiem konkretnie co chcesz zrobić ale strtotime() konwertuje czas do sekund
szymon202
27.03.2016, 21:16:15
Chodzi mi o takie odliczanie jak na za10groszy.pl
mariolita
27.03.2016, 21:29:49
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ę
Star
27.03.2016, 21:44:18
$db = mysqli_connect("localhost","db_user","db_password","db_name"); // polaczenie z baza danych
$query = "SELECT * FROM `users` ORDER BY action DESC LIMIT 1"; //pobranie czasu ostatniej aktywnosci przez usera
$result = mysqli_query($db, $query);
$row = mysqli_fetch_array($result);
$sec = time()- strtotime( $row["action"] ); // obliczenie ilosci sekund <form name=\"time\">
<input name=\"tfield\">
</form>
<script>
function time(l_seconds)
{
var timestamp = l_seconds;
if (timestamp >= 0) {
var hours=parseInt(Math.abs(timestamp/3600));
if(hours<10) parseInt(hours='0'+hours);
var minutes=parseInt(Math.abs(((timestamp%3600)/60)));
if(minutes<10) parseInt(minutes='0'+minutes);
var seconds=Math.abs((timestamp-hours*3600-minutes*60));
if(seconds<10) parseInt(seconds='0'+seconds);
var text = hours + ':' + minutes + ':' + seconds;
document.time.tfield.value = text+ ' ';
timestamp--;
}
setTimeout('time('+timestamp+')',1000);
}
time($sec);
</script>";
resultat :
https://jsfiddle.net/z95zp3nd/
szymon202
28.03.2016, 10:38:33
A można zrobić tak, że daję datę np. 2016-03-28 15:38 i odlicza mi do tej daty?
mariolita
28.03.2016, 10:50:34
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)
Star
28.03.2016, 11:13:29
jemu nie chodzi chyba o to .
zeby odliczac od wczesnie okreslonej daty zamien ta linijke kodu :
$sec = time()- strtotime( $row["action"] ); // obliczenie ilosci sekund
zamiast time() daj
szymon202
28.03.2016, 11:51:56
Tylko jak to zrobić, żeby każda aukcja miała inny czas?
Star
28.03.2016, 13:09:45
czas aukcji ustala ten co ja tworzy ,tak jest np na allegro
a co dalej to masz w pierwszym moim poscie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.