[RESOLU] Delte d'un chat pdo

Eléphant du PHP | 257 Messages

28 mars 2016, 18:16

Bonjour voilà ce que je fait pour supprimer les messages les plus anciens mais cela delete après 3 secondes.
<?PHP
    
     require("function.php");
     $connection = connexion_db ();
	 


 
echo'<style type="text/css">
.color_date {
	color: #00F;
}
</style>';

     $sql  = $connection->query('SELECT * FROM messages_chat ORDER BY id DESC');
     $sql->execute();
     while($data = $sql->fetch(PDO::FETCH_OBJ)){
		 
	echo('<span class="color_date">'.$data->mess_date.'&nbsp;&agrave;&nbsp;'.$data->mess_heure.'</span><b>
	&nbsp;:&nbsp;</b><b>'.$data->pseudo_chat."</b>:".stripslashes(htmlspecialchars($data->message)).'<br>');	 
		 
	 }
	 
	
$supprimer = time() - (3600*24);		 
$delete_chat  = $connection->prepare('DELETE FROM messages_chat WHERE temp< :temps');
$delete_chat->execute(array(':temps'=> $supprimer));

	 
	?>

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

29 mars 2016, 03:44

Bonjour,

Affiche ta requête DELETE via un echo, puis traduit le timestamp via timestamp.fr par exemple pour vérifier que c'est bien ce que tu veux faire.
Si ta requête te semble bonne, vérifie là dans phpmyadmin
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 257 Messages

15 avr. 2016, 18:28

Bonjour voici la solution :D

$connection->exec('DELETE FROM messages_chat WHERE temp < DATE_SUB(NOW(), INTERVAL 1 DAY)');