Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Licznik rejestracji
Forum PHP.pl > Forum > Przedszkole
Losek
Witam posiadam grę przeglądarkową i potrzebuję kodu php na licznik graczy ile się zarejestrowało w danym dniu np.
Poniedziałek - 10
Wtorek - 5

I tak dalej proszę o jak najszybszą pomoc


Dziękuję z góry
markuz
  1. echo $ile_sie_zarejestrowalo_we_wtorek;


A tak na poważnie to prosimy o jakiekolwiek dane wink.gif
Geston
Przechowujesz w bazie danych datę rejestracji użytkowników? Chcesz aby wyświetlało ilość zarejestrowanych użytkowników w kolejnych dniach ale od początku prowadzenia rejestracji czy tylko z ostatniego tygodnia?
Losek
Cytat(Geston @ 4.02.2014, 14:42:07 ) *
Przechowujesz w bazie danych datę rejestracji użytkowników? Chcesz aby wyświetlało ilość zarejestrowanych użytkowników w kolejnych dniach ale od początku prowadzenia rejestracji czy tylko z ostatniego tygodnia?



Tak chce by się wyświetlało z ostatniego tygodnia
Geston
Więc jeżeli masz tę datę rejestracji zapisywaną w tabeli "users" czy jakiejkolwiek innej z danymi użytkownika to nic trudnego.

Napisz funkcję w stylu get_regs($dzien) gdzie jako argument przekażesz liczbę dni wstecz, podając 0 - gdy chodzi o dzień dzisiejszy, 1 - wczoraj, 2 - przedwczoraj. Funkcja od daty dzisiejszej odejmie podany argument i otrzymasz w ten sposób datę z którą musisz porównać wpisy w bazie danych używając SELECT COUNT. Funkcję wywołujesz w pętli ustawiając zmienną na 0 i inkrementujesz do 6 po czym wychodzisz z pętli. Siedem iteracji zwróci kolejno liczbę rejestracji z dnia dzisiejszego, wczorajszego, przedwczorajszego itd aż do tygodnia wstecz. Możesz też zwiększyć liczbę iteracji otrzymując tym sposobem wyniki dla 10 dni wstecz, miesiąca czy ilu tam Ci się podoba. To taki prosty zarys algorytmu który powinien rozwiązać problem. Resztę powinieneś dać radę napisać sam.
redeemer
Cytat(Geston @ 4.02.2014, 16:16:36 ) *
Więc jeżeli masz tę datę rejestracji zapisywaną w tabeli "users" czy jakiejkolwiek innej z danymi użytkownika to nic trudnego.

Napisz funkcję w stylu get_regs($dzien) gdzie jako argument przekażesz liczbę dni wstecz, podając 0 - gdy chodzi o dzień dzisiejszy, 1 - wczoraj, 2 - przedwczoraj. Funkcja od daty dzisiejszej odejmie podany argument i otrzymasz w ten sposób datę z którą musisz porównać wpisy w bazie danych używając SELECT COUNT. Funkcję wywołujesz w pętli ustawiając zmienną na 0 i inkrementujesz do 6 po czym wychodzisz z pętli. Siedem iteracji zwróci kolejno liczbę rejestracji z dnia dzisiejszego, wczorajszego, przedwczorajszego itd aż do tygodnia wstecz. Możesz też zwiększyć liczbę iteracji otrzymując tym sposobem wyniki dla 10 dni wstecz, miesiąca czy ilu tam Ci się podoba. To taki prosty zarys algorytmu który powinien rozwiązać problem. Resztę powinieneś dać radę napisać sam.

Takie rozwiązanie jest nieoptymalne. Można to załatwić 1 zapytaniem na poziomie bazy. Przykład dla MYSQL:
  1. SELECT COUNT(*), DAYNAME(registration_date)
  2. FROM users
  3. WHERE registration_date >= CURDATE()-INTERVAL 6 DAY
  4. GROUP BY DAYNAME(registration_date)
  5. ORDER BY registration_date ASC;
Losek
A można jakiś kod php?

Witam pomoże ktoś jak to po kolei zrobić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.