Ir para conteúdo

Arquivado

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

arldin

deletar dados automaticamente

Recommended Posts

Bom dia a todos. Estou querendo fazer um script para deletar os dados de uma tabela automaticamente apos 30 dias

Estou usando o sequinte script

<?php
include("config.php");

			$data = date("Y-m-d");
$sql = ("DELETE FROM pag WHERE data < NOW();");
$res = mysql_query($sql);

			
?>

Só que esta deletando todos os registro, o que eu quero que ele so delete o que estiver com a data a mais de 30 dias

Como posso fazer para so deletar os que estivem com mais de 30 dias

Compartilhar este post


Link para o post
Compartilhar em outros sites


$data = date("dmY", strtotime("-30 days"));

$sql = ("DELETE FROM pag WHERE data < $data;");

$res = mysql_query($sql);

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sugestão do amigo Criquio Calavera continua deletando todos os registros

e a do Williams Duarte não deleta

Quanto ao PDO eu ainda não sei mexe com ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o formato da data na tabela? Precisa formatar para o formato usado nela. Geralmente é Y-m-d no lugar de dmY

Compartilhar este post


Link para o post
Compartilhar em outros sites

Execute a SQL abaixo dentro de uma função

DELETE FROM `pag` WHERE `data` < DATE_SUB( NOW(), INTERVAL 30 DAY )

Vamos pegar você pela mão!!! :sick:

No seu código abaixo:

 

<?php
include("config.php");

			$data = date("Y-m-d");
$sql = ("DELETE FROM pag WHERE data < NOW();");
$res = mysql_query($sql);

			
?>

 

 

Remova e troque nas linhas comentadas

<?php
include("config.php");

            $data = date("Y-m-d"); // Remova esta linha
$sql = ("DELETE FROM pag WHERE data < NOW();"); //troque a SQL 
$res = mysql_query($sql);

            
?>

O código final, ficaria desta forma

<?php
include("config.php");

$sql = ("DELETE FROM `pag` WHERE `data` < DATE_SUB(NOW(), INTERVAL 30 DAY)");
$res = mysql_query($sql) or die('Error:'. mysql_error());

Se mesmo assim não entendeu, revise o básico do PHP, ou seja, comece tudo novamente.

Aprenda PHP do jeito certo!

www.ultimatephp.com.br/curso

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.