Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]statystyki artykulow/banerow itp
Forum PHP.pl > Forum > Przedszkole
trucksweb
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 ?
thek
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.
trucksweb
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 ?
thek
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
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.