Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]statystyki artykulow/banerow itp
trucksweb
post 21.12.2010, 09:24:10
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


szukalem ale nie znalazlem a chce sie upewnic smile.gif

robie statystyki wyswietlen dla artukulow i banerow.
W tabeli z danymi artykulu umieszkam kolumne "stats" oraz tworze druga tabele (article_stat) z id, id_artykulu, ip_usera, datetime

terach przy wejsciu na artykul sprawdzam czy adres ip usera jest w tabeli "article_stat"-
1. jesli nie ma to robie update na tabeli z artykulem stat+1i dodaje rekord z danymi do "article_stat",
2. jesli natomiast jest to powiedzmy ze sprawdzam roznicze w czasie. Jesli od ostatniego wyswietlenia nie minelo wiecej niz 15min (dobry przedzail czasu ?) to nie robie updatu w "stat". jesli uplynelo robie update na dwoch tabelach -w article_stat zapisuje aktualna date.


Czy takie rozwiazanie jest ok ? chce jakos zabezpieczyc dowolne naliczanie wyswietlania a ciastka chyba nie sa dobre.

W zapleczu mam przycisk -kasuj "article_stat" starsze niz 24h.
Ma moze ktos jakies sugestie ?


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
thek
post 21.12.2010, 10:51:01
Post #2





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




Ja mam smile.gif Stwórz tabelę stats
id_artykulu, ip_usera, odslon (default = 1 ) i kluczem unique, który łączy 2 pierwsze kolumny, ip_usera można skonwertować do int (jest gotowa funkcja w php - poszukaj)
Zapytanie przy każdym odświeżeniu strony:
  1. INSERT INTO stats(id_artykulu, ip_usera) VALUES (tu obie wartości) ON DUPLICATE KEY UPDATE odslon = odslon+1
lub coś podobnego. Sens? Para id_artukułu i ip_usera pozwoli określić ile razy user spod tego ip wlazł na artykuł. Jeśli zacznie przeginać to albo masz do czynienia z siecią albo ktoś podbija mu staty. Jeśli użyjesz:
  1. SELECT count(nazwa_klucza_unique) AS users, sum(odslon) AS wejsc FROM stats WHERE id_artykulu = X
to dostaniesz liczbę unikalnych userów dla tego artykułu, jeśli zamiast tego pobawisz się inaczej warunkami to dostaniesz odpowiednio inne wartości. Możesz bawić się też w grupowanie i inne cuda.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
trucksweb
post 21.12.2010, 11:27:05
Post #3





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


dzieki thek za rade, a co z podbijaniem ogladalnosci ?
dodac tam kolumne z data i sprawdzac ten przedzial czasu czy dac sobie z tym spokoj ?


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
thek
post 22.12.2010, 12:16:39
Post #4





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




Jeśli ktoś będzie podbijał oglądalność z tego samego IP to powinieneś to zobaczyć... Pod jednym parą id_artykulu, ip_usera w kolumnie odsłon będzie wartość bardzo duża smile.gif Jeśli więc w ciągu doby przekroczy ona ustalona wartość miej na oku smile.gif Dla pewności zrób to co proponujesz. Dodaj jako kolumnę timestamp, który ustawia się na czas dodania rekordu. Ustal sobie jakąś średnią. Jeśli od czasu dodania do chwili sprawdzania liczba odsłon przekroczy ją - łap kolesia smile.gif Czyli podczas zakładania tabeli ustaw sobie przypuśćmy:
`data_wpisu` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
Teraz sprawdzając dane pobierzesz ilość odsłon, zrobisz różnicę czasu obecnego i data_wpisu oraz podzielisz pierwsze przez drugie. Średnia ta pozwoli Ci dowiedzieć się ile było wpisów na sekundę (lub inna jednostkę czasu jaką przyjmiesz). Przekroczona? Koleś o takim IP nabija staty artykułowi smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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 Wersja Lo-Fi Aktualny czas: 7.07.2025 - 04:53