![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
W bazie mam kolumne: `dd` timestamp
Na podstawie czasu z kolumny timestamp, chcę porównać datę z serwera i w zależności od wyniku wyświetlić odpowiedni komunikat. Problem jest z poprawnym odjęciem jednego dnia z kolumny timestamp bo wyświetla się, zupełnie inny wynik niż powinien...
Ten post edytował fr33d0m 6.07.2012, 13:40:55 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 479 Pomógł: 97 Dołączył: 6.09.2011 Skąd: php.net :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ten sam efekt... a na pewno konstrukcja jest poprawna? może to wina mojego XAMPA?
edit: nie do końca ten sam efekt: echo zwraca: 1969-12-31 01:00:00 Ten post edytował fr33d0m 6.07.2012, 12:39:48 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Czyli w bazie w owej kolumnie masz NULL lub ją pustą. Czemu? Bo w timestamp najniższa wartość ( czyli 0 ) to 1 stycznia 1970 roku. Jeśli od tego odejmiesz ten dzień to co otrzymasz? (IMG:style_emoticons/default/wink.gif) Ty lepiej sprawdź te dane, bo na bank wina jest nie po stronie skryptu. Może też być tak, że masz skopane coś z nazwą i PHP ustawia tam wartość pustą, potem konwertuje to do 0, a stąd do daty 1 stycznia 1970, oraz odejmuje 1 dzień.
EDIT: A czemu nie spróbujesz odjąć 1 dnia po stronie bazy (funkcje daty czasu w manualu zobacz sobie) i w php tylko porównać? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
timestamp w bazie mam wypełnioną datą i czasem - istnieją dane (IMG:style_emoticons/default/smile.gif)
Wiem, że to dziwne... zanim zapytałem na forum przeglądałem google i pierwszą stronę wyników. Hmm... skopane z nazwą? w sensie nadpisanie, którejś ze zmiennych? Też odpada. Nie odejmuje z bazy 1)bo nie wiem jak, 2)ten sposób wydał mi się prostszy - jeśli nie uda się rozwiązać problemu to będę próbował odejmować z bazy. Hmm... więc to wina XAMPA... już wcześniej kilka razy przy konkretnym INSERT wpuścił mi znak ' mimo, że filtrowałem. Może jeszcze jakieś idee na rozwiązanie problemu? Problem rozwiązany. XAMPP Control Panel 2.3 [14. August, 2009] - działał błędnie - być może tylko moja indywidualna kompilacja, ponieważ mam ją zainstalowaną od ponad 2lat i sporo w php.ini grzebałem (chociaż to nie ma zbyt dużego znaczenia). Przeinstalowałem na: XAMPP Control Panel Version 2.5 (16. March, 2011) i podany powyżej przykład pięknie hula. (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 09:23 |