![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 18.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciałbym prosić o pomoc - wskazówkę - przykład, dotyczący 'złapania danego tygodnia'. Mianowicie, mam sobie statystyki rejestracji na stronie, słupeczki informujące mnie ilu użytkowników zarejestrowało się w ciągu tygodnia (z wyszczególnieniem dniami tygodnia), a następnie porównania z poprzednim tygodniem. Wyglądałoby to mniej więcej tak: (oczywiście dane są przykładowe ![]() http://iv.pl/images/92720495724017052440.jpg Oczywiście mógłbym ustawić datę, od poniedziałku do niedzieli, ale musiałbym to cały czas zaktualizować, mam nadzieję że jest jakiś myk-patent na taką sztuczkę ![]() No więc rozchodzi się o to, że aktualnie mamy wtorek, 10 kwietnia, a ja chciałbym uzupełnić słupki danymi 'aktualny tydzień' z przedziału czasowego 9.04 - 16.04 (czyli pełny tydzień) - jak zrobić później poprzedni tydzień to już wiem - strtotime i parametr -7 days (2.04 - 9.04) Ale tutaj nie mam pomysłu jak to rozwiązać, by uzyskać tą 'podstawę' do dalszych działań ![]() Z góry dziękuję za jakiekolwiek zainteresowanie i pomoc, pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
W jakim formacie trzymasz datę w bazie? Podaj przykłady. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 18.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witaj. W jakim formacie trzymasz datę w bazie? Podaj przykłady. w formacie 2012-04-10 18:25:00 tj. date("Y-m-d H:i:s"); Ale ogólnie rzecz biorąc, będę sobie zbierał jakąś liczbę rejestracji z danego przedziału czasowego, hmm... jakbym zrobił SELECT COUNT(*) FROM dane WHERE DATE_SUB(NOW(), INTERVAL 7 DAY) < data; To odpada, bo to 7 dni od aktualnego czasu, no ale dzisiaj mamy np. wtorek, który nie jest początkiem tygodnia jak wiadomo. Myślę, że zrobię to na zasadzie warunkowej (tylko nie wiem czy to dość optymalne i prawidłowe rozwiązanie) np.
i tak wszystkie dni ![]() Co o tym myślisz? Ten post edytował kodepiko6 10.04.2012, 17:44:15 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. pobierz dzień tygodnia numerycznie od 1-7 (możliwe że to od 0-6 było, sprawdź)
od aktualnej daty odejmij/dodaj brakujące i masz granice tygodnia ![]() 2. pobierz numer tygodnia (od początku roku) i dodaj x*7 dni; x*7+7 dni (od początku roku) i znów masz granice i chyba jeszcze kilka sposobów by się znalazło ![]() -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 18.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
1. pobierz dzień tygodnia numerycznie od 1-7 (możliwe że to od 0-6 było, sprawdź) od aktualnej daty odejmij/dodaj brakujące i masz granice tygodnia ![]() 2. pobierz numer tygodnia (od początku roku) i dodaj x*7 dni; x*7+7 dni (od początku roku) i znów masz granice i chyba jeszcze kilka sposobów by się znalazło ![]() Podziękował, faktycznie - na numerkach będzie prościej i przyjemniej. Dzięki za wskazówkę, pozdrawiam. ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:24 |