Bonjour !
J'aimerais supprimer les lignes SQL de ma table qui datent de plus d'une heure.
Comment faire ? Merci !
Thib
Je pense qu'il te faut une colonne date de création ou tu range l'heure (au moins, peut être toute la date)
Et tu la test régulièrement, genre toute les 5 ou 10 minutes, pour voir celle qui sont supérieur à une heure d'ancienneté.
<?
mysql_connect("host","user","");
mysql_select_db("Nom_BDD");
$sql = 'SELECT Date FROM Nom_Table';
$rowDate = mysql_query($sql);
$TableauDate = mysql_fetch_row($rowDate);
mysql_close();
?>
Et là tu fait une boucle qui test toute les cases du TableauDate<?
mysql_connect("host","user","");
mysql_select_db("Nom_BDD");
$sql = 'DELETE * FROM Nom_Table WHERE Date = '.$TableauDate[numéro concerné];
mysql_query($sql);
mysql_close();
?>
Je ne pense pas que ça fonctionne comme ça, hein, je n'ai pas testé ^^'//après s'être connecté à la BDD et avoir récupéré le champ [heure] dans $heure :
// définition de la variable affichant l'heure
$time = date("H");
// définition de la variable affichant la minute
$time1 = date("i");
//création de la variable associée à l'heure actuelle moins une heure :
$time2 = $time-1;
//création de la variable associée à l'heure ET minute actuelle moins une heure :
$time4 = "".$time2.":".$time1."";
//Si l'heure de la BDD est inférieure à $time4, alors supprimer la ligne :
if($heure <= $time4){
$del = "DELETE FROM Votre_Table";
mysql_query($del) or die (mysql_error());
}