MySQL : limité les enregistrements

Fermé
Ze_Sky - 19 févr. 2007 à 20:17
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 20 févr. 2007 à 03:33
Bonjour à tous,

Voila ma question est toute simple. J'ai créer une table MySQL qui contient les news d'un site.
J'aimerai simplement pouvoir concerver les 10 derniers enregistrement dans la table et supprimer les anciens afin de ne pas devoir la vider manuellement.

Une petite solution ??

Merci !

3 réponses

Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
19 févr. 2007 à 21:25
Salut.

Tu peux essayer ceci quand tu insères une news :
mysql_query('INSERT INTO ... insertion de la news')or die(mysql_error());
//suppression partout ou l'id est inférieur a 10 de moins que l'id de la news que l'on vient de mettre
mysql_query('DELETE FROM table_news WHERE news_id<'.mysql_insert_id()-10);

Par contre, si tu as plusieurs tables, il se peut que le mysql_insert_id soit faussé.
Attention.
0
Merci !! Je ne connaissais pas la fonction mysql_insert_id
par contre, j'ai du changer un peu la ligne, car ça fonctionnais pas :

$id = mysql_insert_id();
$id = $id-10;
mysql_query("DELETE FROM news WHERE ID < $id");

Mais maintenant tout fonctionne ! Un grand merci à toi !!
0
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
20 févr. 2007 à 03:33
De rien :-)

Ah, un conseil d'optimisation : regarde un peu la fonction mysql_unbuffered_query ;-)
0