mariquito Postado Novembro 1, 2006 Denunciar Share Postado Novembro 1, 2006 como eu faço pra excluir automaticamente os registro no BD com mais de 2 dias?Muito Obrigado!! :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dracom Postado Novembro 1, 2006 Denunciar Share Postado Novembro 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariquito Postado Novembro 2, 2006 Autor Denunciar Share Postado Novembro 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()); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 2, 2006 Denunciar Share Postado Novembro 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 2, 2006 Denunciar Share Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mariquito Postado Novembro 3, 2006 Autor Denunciar Share Postado Novembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 3, 2006 Denunciar Share Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mariquito
como eu faço pra excluir automaticamente os registro no BD com mais de 2 dias?
Muito Obrigado!! :rolleyes:
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.