Ir para conteúdo

Arquivado

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

Eduardo Matsuzaki

[Resolvido] Problemas com comparação data e hora

Recommended Posts

Bom dia galera.

 

Estou com um problema meio louco aki.

 

tenho o seguinte código:

 

$apagando = "SELECT * FROM auxiliarpreco a INNER JOIN usuariopreco u ON a.idUsuario = u.usuarioId WHERE idUsuario = '$id'";

$query_apaga = mysql_query($apagando);

 

while ($apaga = mysql_fetch_array($query_apaga)){

$id_item = $apaga['id'];

 

$data_banco = $apaga['data'];

$tempo_banco = $apaga['hora'];

 

$data = date("Y-m-d");

$hora = date("H:m:s");

 

if (mysql_num_rows($query_apaga)){

if (($data >= $data_banco) && ($hora >= $tempo_banco)){

mysql_query("DELETE FROM auxiliarpreco WHERE idUsuario = '$id' AND id = '$id_item'");

}

 

}

}

essa condição minha:

 

if (($data >= $data_banco) && ($hora >= $tempo_banco)){

fica assim se eu peço pra mostrar ela:

 

if ((2008-03-04 > 2008-03-04) && (07:03:12 >= 10:03:26)){

mas quando eu mudou o '&&' pra '||' ele executa, mesmo não sendo verdadeira, e se fica com o '&&' ele num executa de jeito nenhum

 

alguma ideia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou

 

mas o que eu queria é que depois de 3 horas apagasse do banco, tem outro jeito de fazer isso então?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser só um delete mesmo. não tinha pensado desta forma.

 

mas como faço?

 

não entendi muito bem esse date_add

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que comparar a data atual (NOW()) com a data do banco.

 

Por exemplo:

... Where data_banco <= DATE_SUB(NOW(), Interval 3 Hour)
Falei em DATE_ADD, mas DATE_SUB que fará o que você quer.

 

Veja estes tópicos:

http://forum.imasters.com.br/index.php...ite=%2Bdate_add

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi! Você quer que após 3 horas

os dados sejam apagados do banco(3 horas seria o tempo de vida dos dados?).

 

a primeira condição seria:

 

if(($data == $data_banco

 

e não:

 

if(($data > $data_banco

 

outra coisa, você disse que só funcionou com o "||",

isso porque apenas a primeira condição é verdadeira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

[Resolvido]

Beraldo, desculpa ae, mas o preblema era outro

 

tava na cara.

 

ele nunca apagava pq eu setei date ("H:m:s"); e na verdade é date ("H:i:s")... e como estamos no mes '03' ele só vai funcionar durante 3 minutos em uma hora...

 

 

ah e minha condição tava errada:

 

if ($data > $data_banco) || ($hora >= $tempo_banco)){

 

rs

 

mas vlw pela ajuda

vou estudar melhor sobre esse date_add e date_sub

 

[]'s

Eduardo Matsuzaki

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.