Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dany tydzień w data
kodepiko6
post
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 (IMG:style_emoticons/default/Lkingsmiley.png) )
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ę (IMG:style_emoticons/default/smile.gif)

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ń (IMG:style_emoticons/default/smile.gif)

Z góry dziękuję za jakiekolwiek zainteresowanie i pomoc, pozdrawiam!
Go to the top of the page
+Quote Post
tolomei
post
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.
Go to the top of the page
+Quote Post
kodepiko6
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.12.2011

Ostrzeżenie: (0%)
-----


Cytat(tolomei @ 10.04.2012, 18:01:44 ) *
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.

  1. $dzien = date("D");
  2.  
  3. if($dzien == 'Mon'){
  4. $okres_do = date("Y-m-d");
  5. $okres_od = strtotime("-7 days");
  6. $okres_od = date('Y-m-d H:i:s', $okres_od);
  7. }


i tak wszystkie dni (IMG:style_emoticons/default/tongue.gif)
Co o tym myślisz?

Ten post edytował kodepiko6 10.04.2012, 17:44:15
Go to the top of the page
+Quote Post
r4xz
post
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 (IMG:style_emoticons/default/wink.gif)

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 (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
kodepiko6
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.12.2011

Ostrzeżenie: (0%)
-----


Cytat(r4xz @ 10.04.2012, 18:45:42 ) *
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 (IMG:style_emoticons/default/wink.gif)

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 (IMG:style_emoticons/default/wink.gif)


Podziękował, faktycznie - na numerkach będzie prościej i przyjemniej.
Dzięki za wskazówkę, pozdrawiam. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 13:07