Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

calculos com datetime

08-12-2007 14:28

Ola, tenho uma tabela onde tem um campo "tempo" no formato datetime (0000-00-00 00:00:00).

No site o usuario faz o login, este login cria umas sessions, e altera um campo da tabela "status" para "online" e o campo "tempo" para "now()" o datetime atual.

Qdo o usuario faz o logout, entao um script altera o campo "status" para "offline".

estou tentando montar um script que sera executado pelo CRON do servidor a cada 10min. para alterar o status dos usuarios que nao fizeram logout, simplesmente fecharam a pagina.

Estou tentando assim:

$hr_login = DATE('Y-m-d H:i:s', strtotime('-10 minutes'));   $result = mysql_query("UPDATE tabela SET status='Offline' WHERE tabela.tempo<$hr_login") OR die ("erro:" .mysql_error());

Mas ele sempre retorna um erro:

You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '14:04:25' at line 1

Tem alguma restrição qto a trabalhar com a data neste formato? Tem alguma outra solução?
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

calculos com datetime

08-12-2007 17:50

Eu não usaria dessa forma, eu gravaria o timestamp da entrada, ai, teria um script que a cada vez que alguma página do site fosse carregada, faria a redução do tempo atual pelo tempo gravado no timestamp, mas no seu caso, tenta colocar o $hr_login entra aspas simples ( ' )

$result = mysql_query("UPDATE tabela SET status='Offline' WHERE tabela.tempo < '$hr_login'")  or die ("erro:" .mysql_error()); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

calculos com datetime

08-12-2007 19:52

Oi Web,

Em outra situação eu usei o timestamp, parece mais facil de trabalhar, pois transforma tudo em um unico valor né.
Neste não sei pq usei o datetime.

Mas ai coloquei a aspa simples e funcionou, incrivel, não entedi pq, mas ai funcionou rsrsrs

valeu
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

calculos com datetime

08-12-2007 20:13

É pq você tem que delimitar os valores, tipo:

$string = valor aqui;

veja que valor aqui não tem limite, por isso retornaria erro em uma comparação.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado