::..Hunter..:: Postado Dezembro 19, 2003 Denunciar Share Postado Dezembro 19, 2003 Pra mostrar os usuários:<?include("conect.php");conectar(); // uso para me conectar ao banco de dados$timestamp=time();$timeout=time()-300;$result=mysql_db_query($db_bdad, "INSERT INTO online VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");$result=mysql_db_query($db_bdad, "DELETE FROM online WHERE timestamp<$timeout");$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM online");$usuarios=mysql_num_rows($result);mysql_close();echo "$usuarios usuário(s) online";?>A tabela foi criada assim:CREATE TABLE `online` (`timestamp` int(15) NOT NULL default '0',`ip` varchar(40) NOT NULL default '',`arquivo` varchar(100) NOT NULL default '',PRIMARY KEY (`timestamp`,`ip`,`arquivo`),KEY `timestamp` (`timestamp`),KEY `ip` (`ip`),KEY `arquivo` (`arquivo`)) TYPE=MyISAM;Dá o seguinte erro:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/local/httpd/httpd/gravatai/menue.php on line 68usuário(s) online O que está acontecendo que não mostra? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe_Lopes Postado Dezembro 19, 2003 Denunciar Share Postado Dezembro 19, 2003 Faz o script mostrar esses ips q estão online pra ver c funciona....ao invés de apenas contar o numero... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::..Hunter..:: Postado Dezembro 19, 2003 Autor Denunciar Share Postado Dezembro 19, 2003 o nome do banco de dados estava errado, agora mostra apenas 1 usuário mesmo estando mais online.Acho que tem que colocar um while nos IPs pra pegar os outros, que vocês acham? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe_Lopes Postado Dezembro 19, 2003 Denunciar Share Postado Dezembro 19, 2003 Não sei como funciona seu sistema nem como é sua tabela, mas esse sql q você usou tah certo para o q você quer será?SELECT DISTINCT ip FROM online Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 M@luco Belez@ Postado Dezembro 20, 2003 Denunciar Share Postado Dezembro 20, 2003 vê se ajuda http://www.imasters.com.br/web/conteudo/co...p?codcoluna=289 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gladisson Postado Dezembro 20, 2003 Denunciar Share Postado Dezembro 20, 2003 Ficaria bom se você desse condições para os IP que já estão gravados para fazer UPDATE deles, e o que ainda não está gravado só insere. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Dezembro 20, 2003 Denunciar Share Postado Dezembro 20, 2003 cara...se você pegou esse codigo la na iMasters não sei o q ta acontecendo...eu peguei o mesmo codigo e aki ta funcionando normal...eu fiz algumas alteracoes... não sei se pode ter sido isso...vou postar os script aki...--- online.php --- <? $db_host = "localhost"; // Endereço do servidor mySQL $db_user = "user"; // Seu Login no mySQL $db_pass = "senha"; // Sua Senha no mySQL $db_bdad = "bd"; // Nome do Banco de Dados mysql_pconnect($db_host, $db_user, $db_pass) or die (mysql_error()); $timestamp=time(); $timeout=time()-300; // valor em segundos $result=mysql_db_query($db_bdad, "INSERT INTO `useronline` VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); $result=mysql_db_query($db_bdad, "DELETE FROM `useronline` WHERE `timestamp` < '$timeout'"); $result=mysql_db_query($db_bdad, "SELECT DISTINCT `ip` FROM `useronline`") or die(mysql_error()); $usuarios=mysql_num_rows($result); if ($usuarios == 1) { echo"$usuarios usuário conectado no site"; } else { echo"$usuarios usuários conectados no site"; } ?> --------------- --- index.php --- <? include "online.php"; ?> --------------- --- criar table --- CREATE TABLE `useronline` ( `timestamp` int(15) DEFAULT '0' NOT NULL, `ip` varchar(40) NOT NULL, `arquivo` varchar(100) NOT NULL, PRIMARY KEY (`timestamp`), KEY `ip` (`ip`), KEY `arquivo` (`arquivo`) ); --------------espero que isso resolva... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
::..Hunter..::
Pra mostrar os usuários:
<?
include("conect.php");
conectar(); // uso para me conectar ao banco de dados
$timestamp=time();
$timeout=time()-300;
$result=mysql_db_query($db_bdad, "INSERT INTO online VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
$result=mysql_db_query($db_bdad, "DELETE FROM online WHERE timestamp<$timeout");
$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM online");
$usuarios=mysql_num_rows($result);
mysql_close();
echo "$usuarios usuário(s) online";
?>
A tabela foi criada assim:
CREATE TABLE `online` (
`timestamp` int(15) NOT NULL default '0',
`ip` varchar(40) NOT NULL default '',
`arquivo` varchar(100) NOT NULL default '',
PRIMARY KEY (`timestamp`,`ip`,`arquivo`),
KEY `timestamp` (`timestamp`),
KEY `ip` (`ip`),
KEY `arquivo` (`arquivo`)
) TYPE=MyISAM;
Dá o seguinte erro:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/local/httpd/httpd/gravatai/menue.php on line 68
usuário(s) online
O que está acontecendo que não mostra?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.