![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie próbuje pobrać rekordy w sposób:
Zamierzony cel, wyświetl wyniki z zakresu 4 dni wstecz do teraz i z godziny minute przed i po zgodnie z aktualnym czasem. Teraz wygląda to tak, że pokazuje mi 18-go wszystkie, ale 17go- pokazuje tylko 1 rekord. Co jest tu źle ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
date('Y-m-d') lub date('G:i:s') to jest użycie funkcji MySQL? Nie ma takiej funkcji, jest DATE_FORMAT, ale jeśli chcesz wyłuskać samą datę to wystarczy DATE(), sam czas TIME().
time to pole tabeli? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
date , time to pola w bazie.
powyższe działa, jak do tego wpiąć INTERVAL 5 MINUTE ? bo nijak mi nie wychodzi: |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma to większego sensu.
Jakiego typu są te dwa pola (date, time)? Nie możesz przechowywać ich razem w polu typu DATETIME? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie może być typu DATETIME ,ponieważ później mam warunki rozbite w zależności od daty i czasu.
Pole date jest typu date, pole time jest typu time Dlaczego twoim zdaniem to nie ma sensu ? Ten post edytował casperii 19.01.2017, 21:34:55 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego, że w pierwszym przykładzie do DATE_FORMAT powinien być przekazany format czasu.
W drugim przypadku to robisz, ale po co, skoro pole czas przechowuje właśnie czas. Czy na pewno chcesz każdy dzień z zakresu ograniczyć od wybranego zakresu czasu, czy tylko pierwszy i ostatni dzień? Pokaż przykładową datę i czas. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie ma wyglądać tak, że pobiera mi rekordy z zakresu dat 4 dni od dzisiejszej daty do daty wczorajszej z godziny np. z zakresu 1h wcześniej niż obecna godzina do godziny 5 minut temu. Myślę , że zrozumiałeś:
date (date) = 2017-01-15 || time (time) = 20:00:03 date (date) = 2017-01-16 || time (time) = 21:00:03 date (date) = 2017-01-17 || time (time) = 21:02:05 date (date) = 2017-01-17 || time (time) = 22:07:05 date (date) = 2017-01-18 || time (time) = 23:01:03 Czyli o godz. 21:57 w dn 19-01-2017 , powinno mi pokazać rekordy: date (date) = 2017-01-16 || time (time) = 21:00:03 date (date) = 2017-01-17 || time (time) = 21:02:05 Ten post edytował casperii 19.01.2017, 22:00:14 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź:
P.S. Data i czas nie muszą być rozbite na dwie kolumny, aby ich używać w warunkach. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dla pola date jest ok, ale dla pola time pokazuje mi wszystkie godziny:
A powinno brać tylko z zakresu obecna godzina minus 59 minut do obecna godzina minus 1 minuta. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:41 |