Páginas

sexta-feira, 4 de novembro de 2011

Contar total de pessoas online em um site ou sistema

Segue o exemplo:



$host = "localhost";
$user = "usuario";
$pass = "senha";
$db = "banco_de_dados";
$connection = @mysql_connect($host, $user, $pass) or die("Unable to connect to database!");
@mysql_select_db($db, $connection) or die("Unable to select database!");
$ts = time();
$to = time()-60;
$sql = @mysql_query("SELECT count(*) FROM usuarios_online WHERE ip='$REMOTE_ADDR'");
$sqlt = @mysql_result($sql,0,0);
if ($sqlt) @mysql_query("UPDATE usuarios_online SET timestamp='$ts',local='$PHP_SELF',nick='$admin_nick' WHERE ip='$REMOTE_ADDR'");
else @mysql_query("INSERT INTO usuarios_online (timestamp,ip,local,nick) VALUES ('$ts','$REMOTE_ADDR','$PHP_SELF','$admin_nick')");
$sql = @mysql_query("DELETE FROM usuarios_online WHERE timestamp<$to");
$sql = @mysql_query("SELECT ip FROM usuarios_online");
$UOL = @mysql_num_rows($sql);
$UOLS = ($UOL <= 1) ? "" : "s";

# ja esta com a verificacao pra coloca 's' se for maior que 1 usuario online
echo "$UOL usuário${UOLS} online";
?>

Só mude aonde estiver em azul.


Agora salve o código abaixo como tabela.sql e rode-o no seu banco de dados.
CREATE TABLE `usuarios_online` (
`timestamp` int(20) NOT NULL default '0',
`ip` varchar(25) NOT NULL default '',
`local` varchar(70) default NULL,
`nick` varchar(30) NOT NULL default ''
) TYPE=MyISAM;

Nenhum comentário:

Postar um comentário