robie sledzenie zalogowanych uzytkownikow.
zrobilem tabele do skladowanua danych ze sledzenia, sklada sie ona z pol:
1. identyfikator sesji [sid]
2. identyfikator uzytkownika [uzkid]
3. IP uzytkownika [ip]
4. data [data]
5. strona odwiedzana przez uzytkowniika [str]
i chcialbym wysweitlac wszystkich uzytkonikow, ktorzy byli 'czynni' przez ostatnie 5 min.
mam wiec zapytanie:
SELECT uzkid, DATA, ip, sid FROM track WHERE DATA > NOW() - INTERVAL 5 MINUTE GROUP BY uzkid ORDER BY DATA DESC LIMIT 0 ,$ile
no i nie otrzymuje tego co chce, poniewaz:
1. wiadomo, ze jeden uzytkownik bedzie mial duzo rekordow w tej tabeli wiec dlatego group ale chce by wybieral taki wiersz z danym ip, uzkid uzytkownika dla ktorego data jest najwyzsza (teraz niestety tak nie jest - tak jaby nie dzialalo ORDER BY data DESC) pojawia sie najnizsza data.
2. czy w ogole dobrze sie do tego zabralem - czy jest jakies lepsze rozwiazanie koncepcji sledzenia zuytkownika
3. co zrobic z tymi rekordami , ktore sa starsze od NOW() - INTERVAL 5 MINUTE? chcialbym je jakos skasowac? musze np. w crona dorzucicc odpowiednie skrypty?
pozdrawiam,