Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]licznik online
Forum PHP.pl > Forum > Przedszkole
Salur
Witam,

Gdy użytkownik się pomyślnie zaloguje zapisuję w bazie datę, po wylogowaniu znów ja zapisuję tylko w innej komórce, później zliczam ile rekordów jest równych aktualnej dacie i wyswietlam jako osoby online. Problem w tym że user się rzadko wylogowuje, przez co zostaje tylko data zalogowania. Jak mogę zrobić ten licznik inaczej? optymalniej i prościej?

  1. // gdy sie zaloguje
  2. $czas = mysql_query("INSERT INTO log (login, last_activ, ip) VALUES ('$uzytkownik', NOW(), '$ip_user')");

ref
Damonsson
Zapisuj każdą akcję użytkownika z aktualną datą, następnie załóż, że osoba online, to osoba której: ostatnia akcja > data aktualna - 15/10/5 minut. Pomysł kiepski, ale dla samego PHP + MySQL jedyny sensowny.
Ether
Takie rzeczy polecam upchać w memcache, ponieważ szkoda tak katować MySQL. Generalnie istnieje jeszcze kilka innych metod, jedną z nich jest parsowanie logów aplikacji serwera www, i wpychanie do listy online (praca na płaskim pliku tekstowym wydaje mi się bardziej "optymalna").
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.