Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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 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ę 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ń smile.gif

Z góry dziękuję za jakiekolwiek zainteresowanie i pomoc, pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
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.


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
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 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 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 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 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 wink.gif


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

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

 



RSS Aktualny czas: 21.08.2025 - 08:24