Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] [MySQL] Statystyki wyświetleń filmów (dzień, tydzień, miesiąc)
kondor
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 26.09.2005

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


Witajcie,

Mam prośbę - chciałbym dodać do serwisu informacje o tym jakie filmy są najchętniej oglądane ostatnio, jakie w tym tygodniu, jakie w miesiącu itd.
Nie wiem jak to zrobić, jak sensownie umieścić informacje w bazie.
Póki co najbliższy jestem takiego rozwiązania:
każdy film w bazie ma dodatkowe pola (pon, wto, śr, cz, pt, so, nd, tydzien, miesiac). Jeżeli mamy poniedzialek to "podnoszą się" statystyki poniedziałku, tygodnia i miesiąca itd. Co jednak z zerowaniem jeżeli znów jest poniedziałek tak aby nie dublować? Czy przez CRONE'a?
A może jest na to jakiś lepszy sposób, możę ktoś już robił coś takiego i ma gotowy, sprawny pomysł?

pozdrawiam i dziękuje za pomoc.
Konrad

Ten post edytował kondor 23.12.2009, 21:59:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Ja bym zapisywał datę i wyświetlenia w tym dniu, a potem możesz usuwać wpisy najstarsze, albo edytować je zmieniając datę i zerując wyświetlenia. Raz dziennie odpaliłbyś skrypt kasujący, np. cronem.
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja bym myślał o tabeli z polami: data, id_filmu, wyswietlen, przy czym założyłbym indeks na parę data+id_filmu i osobny chyba na data, choć zastanawiałbym się trochę nad id_filmu także, ale nie jest on konieczny.
Jeśli ktoś wchodzi na stronę to dodajesz do bazy rekord z danymi: data, id_filmu, 1, a jeśli istnieje już rekord o identycznej parze data + id_filmu to zrobić update tego rekordu i dodać do wyświetleń jeden (IMG:style_emoticons/default/smile.gif)
To chyba jedno z sensowniejszych rozwiązań na statystyki, bo możesz sobie kombinować jak chcesz potem z sumowaniem zestawieniami po liczbie wyświetleń dla danej daty, dla filmu, dla jakiegoś okresu. Z kolei samo zapytanie to będzie wariacja na temat:
INSERT INTO... ON DUPLICATE KEY UPDATE ...

Ten post edytował thek 23.12.2009, 23:53:40
Go to the top of the page
+Quote Post
kondor
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 26.09.2005

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


Tylko czy to sie za bardzo nie rozrosnie jezeli dla kazdego dnia i kazdego filmu bedzie osobny wpis w tabeli? Boje sie, ze moze to "zjesc" baze - poki co jest okolo 300 filmow i dziennie 2000-3000 odslon ale to wszystko szybko rosnie.
Czy nie ma jakiegos mniej "zasobożernego" rozwiązania? Nie wiecie jak to np. robi Youtube?
A moze - dla przykladu - baza ktora ma 200.000 wpisow wcale nie jest duza i nie spowolni to serwisu?

Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie do końca zauważyłeś chyba, że dla takiego rozwiązania tylko przeglądane filmy dostają rekordy (IMG:style_emoticons/default/winksmiley.jpg) Filmy olewane nigdy nie będą miały rekordów w tej tabeli lub sporadycznie tylko. Co jakiś czas możesz oczywiście zrób czyszczenie cronem starszych niż miesiąc. bazie to nie zawadzi, bo wytrzyma rekordy liczone w większych ilościach.
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: 8.10.2025 - 14:18