![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%)
|
Witam zastanawiam się jak zrobić funkcje online. Myślałem nad zrobieniem tabeli online i tam id usera = $_SESSION['id'] oraz czy jest online czy też nie (1/0)... To było by nawet proste ale jak zrobić aby po 5 minutach nieaktywności zmieniła się wartość na off i jak sprawdzać aktywność? na każdej stronie robić update table ? Widziałem tutaj jeden artykuł ale był słabo opisany... Pozdrawiam
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%)
|
Hej
Wydaje mi się, że właściwym rozwiązaniem będzie wykorzystanie tabeli "users" w której powinieneś utworzyć kolumnę "lastactivity" typu [timestamp]. Wtedy w funkcji sprawdzającej czy użytkownik jest zalogowany dodatkowo aktualizowałbyś tę dane w tej kolumnie dla tego użytkownika. Wtedy aby pobrać liczbę bądź nazwy użytkowników aktywnych w czasie ostatnich 5 minut wystarczy dać: pseudokod: Kod SELECT * FROM `users` WHERE `lastactivity` <= NOW() - 5minut Pozdrawiam |
|
|
|
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 |
Pomysł dobry, ale zapytanie nieoptymalne (IMG:style_emoticons/default/smile.gif) Coś takiego jak now() nie powinno być używane bo zmniejsza wydajność. Zapytanie powinno mieć wklejany czas już po stronie php, by baza nie musiała tego liczyć. Poza tym co z userami, którzy wylogowali się w czasie poniżej 5 minut i na bank nie są on-line? Tutaj musi być dodatkowa kolumna oprócz czasu jeszcze. Bo może być timestamp poniżej 5 minut, ale online wskaże 0 czyli wylogowany.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 1 Dołączył: 5.02.2007 Ostrzeżenie: (0%)
|
No a co ma wskazywać że zalogowany skoro się wylogował?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%)
|
Rozwiązanie prymitywne ale działa. Musisz posiadać dodatkowe dwie kolumny tak jak wyżej napisano już lastactive oraz online
I przy wylogowaniu użytkownika też powinieneś ustawić kolumnę online na 0. Potem aby wyświetlić ludzi będących online pobierasz wszystkich użytkowników mających online=1 Skrypt wiąże się z dużą ilością zapytań. Poprawiajcie mnie do woli ;] Pozdrawiam. |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 19:10 |