Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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??
Não funcionou
mas o que eu queria é que depois de 3 horas apagasse do banco, tem outro jeito de fazer isso então?
Se for só isso, não é necessário fazer SELECT. Basta um DELETE com uma condição Where adequada.
Use a função DATE_ADD()
http://dev.mysql.com/doc/refman/5.1/en/dat...nction_date-add
pode ser só um delete mesmo. não tinha pensado desta forma.
mas como faço?
não entendi muito bem esse date_add
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:
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.
[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
Use strtotime(), convertendo a data completa (YYYY-MM-DD HH:MM:SS) em inteiro, depois faça a comparação.