Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Christiano Nunes

[Resolvido] Usuários online tava funcionando

Recommended Posts

Pessoal.. mas um probleminha.

Mudei meu host hoje, e a área do site de "usuários online" parou de funcionar.

Ou melhor está funcionando, o problema está na hora de deletar os usuários inativos.. o sistema deleta todos...

sendo q teria q deletar apenas os registros que tenha 10minutos de inatividade.

 

O problema está nesta linha:

 

deletar="DELETE FROM online WHERE hora < #" & (hora_user) & "#"
Conexao.Execute(deletar)
Onde "hora_user" é a hora atual menos 10 minutos. (hora_user = DateAdd("n", -10, now))

 

Ao invés do sistema deletar só os registros cm 10 minutos d inatividade, ele está deletando todos.

 

obs. o campo hora do access é do tipo "data/hora"

 

Alguém sugere uma solução??

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique como está o formato de data na SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí pessoal.. ninguem se habilita?

alguem conhece um codigo +ou- assim... "where data < format(hora_user, d/m/aaaa)" ???????

já vi isso em algum lugar mas nao lembro direito como é aplicado.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma busca simples no google traz a resposta, basta consultar:

 

SELECT FORMAT(data, 'dd - mmmm - yyyy') AS data

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem certeza que isso resolveu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem certeza que isso resolveu?

é.. pensando bem, não ta 100% não...

q coisa..rs!

nao ta deletando devidamente.

testar: www.copawe.com.br

entre em algum campeonato, e veja no menu esquerdo os usuários online.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é basicamente isso, a segunda linha voce controla o tempo de inatividade para considerar offline, ali usei uma hora

 

TempoOnline = Now()  
TempoOnline = DateAdd("h",-1,TempoOnline)
TempoOnline = MONTH(TempoOnline) & "/" & DAY(TempoOnline) & "/" & YEAR(TempoOnline) & " " & HOUR(TempoOnline) & ":" & MINUTE(TempoOnline) & ":" & SECOND(TempoOnline)
STRSQL = "UPDATE TABELA SET Online = False WHERE Data < #" & TempoOnline & "#"
Conn.Execute(STRSQL)

O campo de data eve ser Data/Hora Completa

 

Faça as adptações, estarei aqui para te ajudar mais um tempo

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai.. mas você usou UPDATE? Não entendi mt bem.

Entenda meu codigo:

 

horatoda = now
hora_user = DateAdd("n", -10, horatoda)

Conexao.Execute("INSERT INTO on_line (hora,ip,user,cod_user) VALUES ('"&horatoda&"','"&ip&"','"&user&"','"&cod_user&"')")

Conexao.Execute("DELETE * FROM online WHERE hora < #"& hora_user &"# ")

Ou seja, ao inves d deletar só os registros inativos.. está deletando tudo!!

o campo data é do tipo (data/hora).

 

Muito obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi so um exemplo

 

ali nao pode ser apenas hora tem qeu ser data/hora senao vai dar erro nas mudanças de dias

 

o nome do campo é data ou hora?

 

fala colocar a data no padrao mm/dd/aaaa hh:mm:ss

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi so um exemplo

 

ali nao pode ser apenas hora tem qeu ser data/hora senao vai dar erro nas mudanças de dias

 

o nome do campo é data ou hora?

 

fala colocar a data no padrao mm/dd/aaaa hh:mm:ss

Eu mando para o campo HORA a data completa: d/m/aaaa 00:00:00

dpois eu tiro 10 minutos desta data completa.

 

Entendeu?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo

 

antes de tentar deletar inverte o formato e deve funcionar

 

faça como fiz la em cima

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo

 

antes de tentar deletar inverte o formato e deve funcionar

 

faça como fiz la em cima

Opa.. até o momente parece q deu certo. Vou ter q esperar um tempo pra ver se vai deletar somente os inativos.

já está online no site.

 

Mt obrigado por enquanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito entao

 

Qualquer coisa pode postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.