manolegal 12 Denunciar post Postado Junho 26, 2012 Olá amigos. Estou mostrando os usuários logados no sistema da seguinte forma: index.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <title>web</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <frameset rows="40,*,35" frameborder="NO" border="0" framespacing="0"> <frame src="superior.php" name="superior" scrolling="NO" noresize > <frame src="central_1.php" name="central"> <frame src="inferior.php" name="inferior" scrolling="NO" noresize> // Onde irei mostrar os usuários logados </frameset> <noframes> <body> </body> </noframes> </html> inferior.php $id_usuario = $_SESSION["id_usuario"]; $time_atual = time(); $data_atual = date("Y-m-d H:i:s"); $tempominutos = 15; // Intervalo em minutos $time_requerido = time()-($tempominutos * 60); // Verifica se Usuario esta na tabela "usuarios_logados" $Sql_selec = "SELECT * FROM usuarios_logados WHERE usuario_id = '$id_usuario'"; $Resultado_selec = executa($Sql_selec); $total_registros_selec = pg_num_rows($Resultado_selec); if ($total_registros_selec == 0) { // Se nao estiver, insere usuario na tabela "usuarios_logados" $Sql = "INSERT INTO usuarios_logados (usuario_id, ultimo_login, time_ultimo_login) VALUES ('$id_usuario', '$data_atual', '$time_atual')"; $Resultado = executa($Sql); } else { // Se estiver atualiza ultimo login $Sql_atualiza = "UPDATE usuarios_logados SET ultimo_login='$$data_atual', time_ultimo_login='$time_atual' WHERE usuario_id = '$id_usuario'"; $Resultado_atualiza = executa($Sql_atualiza); } // Deleta registros de Usuarios inativos em um tempo superior ao requerido $Sql_del = "DELETE FROM usuarios_logados WHERE time_ultimo_login < '$time_requerido'"; $Resultado_del = executa($Sql_del); // Seleciona Usuários logados $Sql_logados = "SELECT usuarios_logados.usuario_id, pessoas.nome FROM pessoas, funcionarios, usuarios, usuarios_logados WHERE funcionarios.pessoa_id = pessoas.id_pessoa AND usuarios.funcionario_id = funcionarios.id_funcionario AND usuarios.id_usuario = usuarios_logados.usuario_id AND time_ultimo_login >= '$time_requerido' ORDER BY pessoas.nome ASC"; $Resultado_logados = executa($Sql_logados); $total_registros_logados = pg_num_rows($Resultado_logados); if ($total_registros_logados > 0){ $usuario_mostra = ""; while ($linha = pg_fetch_array($Resultado_logados)){ $id_usuario = $linha["id_usuario"]; $usuario_mostra .= $linha['nome'] . ', '; } $usuario_mostra = substr($usuario_mostra, 0, strlen($usuario_mostra)-2) . '.'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Inferior</title> </head> <body style="color: rgb(0, 0, 0); background-color: rgb(51, 0, 153);" alink="#000099" link="#000099" vlink="#990099"> <tr><center><font face="arial" size="2" color="antiquewhite"> <?php if ($nivel <= "3") { echo "Usuários Online: "?> <strong><?php echo" ($total_registros_logados) $usuario_mostra"?></strong> <?php } ?> </font></center></tr> <br> </body> </html> Como faço para atualizar AUTOMATICAMENTE por exemplo, a cada 15 minutos o campo "time_ultimo_login" da tabela "usuarios_logados". No momento só está atualizando quando o usuário acessa o sistema ou ao pressionar F5. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Junho 27, 2012 Tenta adicionar este código ao seu <head>: <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> $(function($){ var userOnline = setInterval(function() { $('frame[name=inferior]').attr('src', 'inferior.php'); }, 15000); }); </script> Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Junho 27, 2012 Lucas. Funcionou certinho. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites