Jump to content


Photo

Data - Problemas Com Log


  • Faça o login para participar
2 replies to this topic

#1 AlessandroWeb

AlessandroWeb

    Turista

  • Usuários
  • 56 posts
  • Sexo:Masculino
  • Localidade:Suzano / SP

Posted 03/03/2010, 09:48

Eu dnovo galera! ^^
Tenho uns LOGs das ações do usuário aqui e quero excluir - os que forem mais antigos que 15 dias vai pro beleléu. Mas naum quero usar CRON, quero fazer esse teste quando o usuário acessar o sistema

meu code:
$data_limpeza = date("d/m/Y", strtotime("-15 days"));
$delog = "DELETE FROM `logs` WHERE `data` = '$data_limpeza'";
mysql_query($delog, $conexao) or die ("Erro durante a limpeza dos Logs: ".mysql_error());

Mas eis o problema.: Hoje é 03/03/2010, ou seja, a variável $data_limpeza terá no seu valor 16/02/2010 (15 dias a menos)

Mas se no dia 16/02 o usuário não acessar o sistema?

Eu tentei usar assim:
WHERE `data` <= '$data_limpeza'
Mas o sistema apaga TODOS os logs.

Para salvar o log eu estou usando o seguinte:
mysql_query("INSERT INTO  `logs` (
`user_id`,
`data`,
`hora`,
`acao`
)
VALUES (
'".$row_user['id']."',
'".date("d/m/Y")."',
'".date("H:i")."',
'Conectado no Sistema'
)");

O que pode ser?
Atenciosamente,
Alessandro Santos.
igloo Internet Solutions
www.igloointernet.net

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/03/2010, 09:57

Primeiramente, o tipo do campo deve ser no formato americano, que é o formato que o banco entenderá suas consultas, ou seja, Y-m-d H:i:s.

Ai basta alterar para o formato do campo para DATETIME ou simplesmente DATE, caso você não guarde também a hora.

Feito isto, ai sim você conseguirá utilizar o seu código:

Inserindo:

mysql_query("INSERT INTO  `logs` (
`user_id`,
`data`,
`hora`,
`acao`
)
VALUES (
'".$row_user['id']."',
'".date("Y-m-d")."',
'".date("H:i")."',
'Conectado no Sistema'
)");

E excluindo:

$data_limpeza = date("Y-m-d", strtotime("-15 days"));
$delog = "DELETE FROM `logs` WHERE `data` <= '$data_limpeza'";
mysql_query($delog, $conexao) or die ("Erro durante a limpeza dos Logs: ".mysql_error());

[]'s (ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 AlessandroWeb

AlessandroWeb

    Turista

  • Usuários
  • 56 posts
  • Sexo:Masculino
  • Localidade:Suzano / SP

Posted 03/03/2010, 10:40

@Paulo Andre

parece q funcionou! VLW!!
Atenciosamente,
Alessandro Santos.
igloo Internet Solutions
www.igloointernet.net




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq