mariquito Posted November 1, 2006 Report Share Posted November 1, 2006 como eu faço pra excluir automaticamente os registro no BD com mais de 2 dias?Muito Obrigado!! :rolleyes: Quote Link to comment Share on other sites More sharing options...
0 Dracom Posted November 1, 2006 Report Share Posted November 1, 2006 Através de código php... vá no BD e habilite o tipo de código para DATE.Volte ao script PHP e faça com que uma variável receba vários campos de datas do BD através da função:mysql_fetch_row($query);Depois faça uma consulta para que os campos sejam apagados...Ficaria mais fácil de te ajudar se você tivesse alguma duvida em especifico.Algum código que possa estar errado... Quote Link to comment Share on other sites More sharing options...
0 mariquito Posted November 2, 2006 Author Report Share Posted November 2, 2006 Através de código php... vá no BD e habilite o tipo de código para DATE.Volte ao script PHP e faça com que uma variável receba vários campos de datas do BD através da função:mysql_fetch_row($query);Depois faça uma consulta para que os campos sejam apagados...Ficaria mais fácil de te ajudar se você tivesse alguma duvida em especifico.Algum código que possa estar errado...olha só...eu fiz um codigo comum que atualiza a tabela e como vai excluir depois de 2 dias?assim:$consulta = "INSERT INTO tabela (ip, data, hora) VALUES ('$ip', '$data', '$hora')"; $resultados = mysql_query($consulta)or die("Falha no contador");tem como colocar o BD pra receber a data automaticamente sem script PHP? :unsure: o arquivo de EXCLUSÃO eu tinha feito assim?...mais num dar certo :( $sql = "DELETE * FROM tabela WHERE $data < curdate()";mysql_query($sql) or die(mysql_error()); Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted November 2, 2006 Report Share Posted November 2, 2006 Como você modelou seu BD? O campo data está do tipo 'DATE'? Se sim no PHP basta jogar o 'now()' no lugar do $data.Para excluir os dados de 2 dias atrás você vai ter que calcular que dia era 2 dias atrás primeiro, porque se você fizer assim:"SELECT * FROM tabela WHERE coluna < now()" você vai excluir os dados de ontem... Quote Link to comment Share on other sites More sharing options...
0 Beraldo Posted November 2, 2006 Report Share Posted November 2, 2006 Melhor do que DATE é o DATETIME. São salvos no mesmo campo a data e a hora da seguinte forma:2006-11-01 23:41:00Daí não precisa de uma campo para data e outro para a hora.Na hora da exclusão, use a função NOW(), como sugerido pelo nosso colega ESerra.[]'s Quote Link to comment Share on other sites More sharing options...
0 mariquito Posted November 3, 2006 Author Report Share Posted November 3, 2006 Como você modelou seu BD? O campo data está do tipo 'DATE'? Se sim no PHP basta jogar o 'now()' no lugar do $data.Para excluir os dados de 2 dias atrás você vai ter que calcular que dia era 2 dias atrás primeiro, porque se você fizer assim:"SELECT * FROM tabela WHERE coluna < now()" você vai excluir os dados de ontem...sim estou usando no BD o campo DATE...mais quando eu insiro um registro a data não entra automaticamente no campo do tipo DATEa função now() só exclui? Quote Link to comment Share on other sites More sharing options...
0 Beraldo Posted November 3, 2006 Report Share Posted November 3, 2006 a função now() só exclui?A função now() não exclui, não altera e não insere. Ela apenas retorna as data e hora atuais, como citei no meu post anterior. Vá ao Terminal do MySQL e digite este código:Select NOW(); Veja o que acontece. ;)[]'s Quote Link to comment Share on other sites More sharing options...
Question
mariquito
como eu faço pra excluir automaticamente os registro no BD com mais de 2 dias?
Muito Obrigado!! :rolleyes:
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.