![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 28.03.2008 Skąd: Kielce Ostrzeżenie: (10%) ![]() ![]() |
Witam, mam dość rozbudowany kod, ale problem pojawia się w poniższym jego fragmencie:
Czy ktoś wie, dlaczego poniższe zapytanie gdzie start i stop są kolumnami typu DATETIME tabeli godziny nie zawsze sumuje czasy prawidłowo? I bywa, że po wprowadzeniu prawidłowych danych w wyniku dostaję 1970-01-01 01:00:00 ? przykładowo: 2008-04-09 21:00:00 + 0000-00-00 00:25:00 = 2008-04-09 21:25:00 2008-04-09 21:25:00 + 0000-00-00 01:00:00 = 2008-04-09 22:25:00 i to są dane poprawne, ale już: 2008-04-16 11:50:00 + 0000-00-00 00:45:00 = 1970-01-01 01:00:00 Przykładów mógłbym mnożyć. W czym może tkwić problem? Zastanawiające jest to, że wszystkie błędne sumy są identyczne - 1970-01-01 01:00:00, a trafiają sie nie wiadomo dlaczego i kiedy.. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie mam pojecia... dlaczeo to nie działa...
ale może spróbuj zamienić datę z Twoich kolumn używając mktime()" title="Zobacz w manualu PHP" target="_manual dodaj je i spowrotem zameń ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 28.03.2008 Skąd: Kielce Ostrzeżenie: (10%) ![]() ![]() |
Nie no probowałem pochodzić do problemu dodawania godzin w php z różnych stron, ale również nie dawało to zamierzonego efektu, operacje na bazie są wg. mnie najlepszym rozwiązeniem bo generują błędny wynik tylko raz na jakiś czas.. dzieki za odpowiedź.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm, ale jak coś robisz... ;] to rób to porzadnie... czyli powinno działać zawsze;] a wydaje mi się że po zamianie daty i czasu przez mktime() otrzymujesz zawsze dobre wynik... :]
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 28.03.2008 Skąd: Kielce Ostrzeżenie: (10%) ![]() ![]() |
Otóż nie, bo przynajmniej w moim przypadku przy użyciu mktime (może błędnie formatowałem date), ale wkradały się jakoweś dziwne anomalie i wynik był większy o parę minut niż prawidłowy.
Jednak udało mi się problem rozwiązać na bazie danych, a mianowicie do zmiennej $zapytanie przypisałem coś takiego: Kod SELECT ADDTIME(start, TIME_FORMAT(stop, '%T')) AS gotowe FROM godziny i działa poprawnie za każdym razem. Co nie zmienia faktu, że nie widzę błędu w poprzednim kodzie, i dalej jestem ciekaw czemu generował błędne wyniki. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:59 |