Skocz do zawartości
offset

Odliczanie dni w MySQL i php

Polecane posty

Witam, potrzebuje napisać skrypt na stronę, lecz nie mam pojęcia jak się do tego zabrać.

 

W bazie danych mam liczbę. 14 - przykładowo. Chce aby liczba ta codziennie o 0:00 zmniejszała się o 1, ma do tego posłużyć PHP oraz była wyświetlana w echo.

 

Proste odliczanie dni, lecz liczba dni jest w MySQL.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie wiem co robisz ale robisz to źle. Żeby zrobić to poprawnie powinieneś mieć w MySQL timestamp lub date i odliczać albo do niego, albo od niego, w zależności co potrzebujesz.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Musisz zrobić coś ala cron w php. Dodatkowo poza samą liczbą dni do odliczania potrzebujesz jeszcze datę kiedy ostatni raz data była zmniejszana. Dzięki niej będziesz wiedział czy w momencie odświeżenia strony należy zmniejszyć licznik i zaktualizować go w DB, czy tylko wyświetlić.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Musisz zrobić coś ala cron w php. Dodatkowo poza samą liczbą dni do odliczania potrzebujesz jeszcze datę kiedy ostatni raz data była zmniejszana. Dzięki niej będziesz wiedział czy w momencie odświeżenia strony należy zmniejszyć licznik i zaktualizować go w DB, czy tylko wyświetlić.

 

To ja już bym to zrobił tak że w bazie danych była by data z godziną (datetime) i w php bym odliczał ile zostało do danej daty. W stylu: Pozostało 3 dni, 12 godzin i 32 minuty.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

To ja już bym to zrobił tak że w bazie danych była by data z godziną (datetime) i w php bym odliczał ile zostało do danej daty. W stylu: Pozostało 3 dni, 12 godzin i 32 minuty.

No właśnie pomyślałem teraz że tak będzie lepiej :P I w jaki sposób w PHP mogę odliczyć do pełnej daty w MySQL? Edytowano przez offset (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

To ja już bym to zrobił tak że w bazie danych była by data z godziną (datetime) i w php bym odliczał ile zostało do danej daty. W stylu: Pozostało 3 dni, 12 godzin i 32 minuty.

 

W sumie racja, za bardzo chciałem zrobić to odliczanie :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

imo, lepiej się operuje na unix (time()), ustalasz cel jako date w unixie, potem od tej daty odejmujesz datę aktualna np.

$odliczanie = $moj_cel - time();

gdzie $moj_cel jest pobrany z bazy. Wynik dzielisz przez 60 itp, w celu otrzymania sekund, minut, godzin..

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A już w ogóle najlepiej zrobić to w JSie, pobrać date celu z bazy, przekazać do JSa, choćby przy pomocy inputa typu hidden i zrobić dynamiczny licznik. W tedy będzie odświeżany bez potrzeby przeładowywania strony. A w połączeniu z wyświetleniem w php daje chyba najlepszy licznik, bo nawet jeśli ktoś ma wyłączonego JSa to i tak zobaczy datę.

No chyba że nie zależy nam na odliczaniu w sekundach/minutach to można zastanawiać się czy jest sens dodatkowo robić licznik w JSie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×