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

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się

×