Autor | Zpráva | ||
---|---|---|---|
elža Profil * |
#1 · Zasláno: 28. 5. 2010, 17:31:08
Ahoj, jak udělat online stav na webu kdo je online?
- Mám hotový, když se uživatel přihlasí zapíše se to do databáze do tabulky sessions(userid,ip,time,date) není problém si vypsat všechny IDčka,který sou online, ale problém je že IDčka uživatelů mám uložený v tabulce uživatelé. Potřeboval bych teda z tabulky sessions kde ukládám ID uživatele převect do tabulky uživatele kde mi vypíše jakej má nick, jak nato prosim? |
||
Kh. Profil * |
#2 · Zasláno: 28. 5. 2010, 17:42:15
function zjistiNick($id) { $c = mysql_connect(); mysql_select_db(); $q = mysql_query("SELECT * FROM users WHERE id=".$id); return mysql_fetch_object($q)->nick; } $q = mysql_query("SELECT * FROM sessions"); while ($r = mysql_fetch_object($q)) { echo "Uživatel ".zjistiNick($r->iduzivatelevtabulcesessions)." je online"; } |
||
Kcko Profil |
#3 · Zasláno: 28. 5. 2010, 17:46:38
Kh.:
Prijde Ti rozumne to delat takto? Coztakhle spojit tabulku users s tabulkou sessions a usetris tolik dotazu kolik je lidi online. |
||
elža Profil * |
#4 · Zasláno: 28. 5. 2010, 17:48:24
Kcko:
To už mě taky napadlo asi mi nic jinýho nezbývá :) |
||
Kcko Profil |
#5 · Zasláno: 28. 5. 2010, 17:56:34
|
||
elža Profil * |
#6 · Zasláno: 28. 5. 2010, 18:15:01
když sem to sloučil mazalo mi to uživatele kteří nebyly přihlášený, radči to nechám v obouch tabulkach, prto přehled taky...
|
||
elža Profil * |
#7 · Zasláno: 28. 5. 2010, 18:26:15
udělal sem to jak napsal Kh. a funguje, díky moc
|
||
Kcko Profil |
#8 · Zasláno: 28. 5. 2010, 19:33:27
No neni to tedy ale moc optimalni ;-) ...
A co takto: Kdyz je uzivatel zalogovany a udela nejakou akci na webu tak si do sloupecku posledni_akce_uzivatele ulozis aktualni cas (tj NOW()) A pak uz bude velmi snadne zjistit kdo je aktualni. SELECT .... FROM users WHERE DATE_SUB(NOW(), INTERVAL 4 MINUTE) <= posledni_akce_uzivatele |
||
Časová prodleva: 14 let
|
0