Bonsoir a tous svp j ai un souci c'est que: lorsque je fais afficher les 10 première nouvelle entrées de ma BD , celle ci reste standard même les nouvelle entrée ne sont pas pris en compte par ma requête sql...
j aimerais que a chaque fois qu'une nouvelle entrée les ancien soient remplace au fur et a mesure...
bonjour ,non pas les 10 dernier mais les 10 premiers mais et a chaque fois qu un internaute poste un message il doit remplacer le 1 er et au fur et a mesure des 10.
Donc si je comprends bien, à chaque fois que tu fais un enregistrement, tu veux que le plus vieux soit supprimé? et ainsi n'en laisser que 10 dans la base de donnée et donc les 10 plus récent enregistrement?
C'est bien ça?
<?php
// On compte le nombre d'enregistrement
$sql = 'SELECT * FROM livre_or ';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
// On enregistre le nouveau
$sql='INSERT INTO livre_or VALUES ( [...] )';
mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
if($nb>=10)
{
$sql = 'SELECT * FROM livre_or ORDER BY id ASC LIMIT 1';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$id = mysql_fetch_array($req);
$sql='DELETE FROM livre_or WHERE id="'.mysql_real_escape_string($id['id']).'"';
}
?>
A chaque fois que tu fais un enregistrement, ce code vérifie que le nombre n'est pas supérieur à 10 et si c'est le cas, il supprime le plus vieux enregistrement.
Remplace [...] par les valeurs que tu veux enregistrer et adapte ce code à celui que tu as déjà pour enregistrer tes données.
J'espère avoir cette fois bien compris ton problème. Si ce n'est pas le cas, essai d'être plus clair dans tes explications.
non a chaque fois qu il ya un nouveau enregistrement il remplace l ancien mais l ancien reste toujours dans la BD mais n affichera plus si je fais un select id from...
j ai du mal a expliquer ça excuse moi...
bonsoir merci bien de me venir en aide,je fais un effort:
j enregistre toutes les entrée de mon livre d or dans ma BD .
je veux afficher les 10 première entrées dans ma BD sur ma page.
le problème est que si il ya par exemple 5 autre entrée que 5 parmi les 10 soit remplacer par les nouveau 5 entrée au fur et a mesure que les entrée se fasse .
mon code ci dessus affiche les 10 entree et ignore les nouvelle entree dans la BD ;
je veux que sql les remplace au fur et a mesure.... aider moi
que 5 parmi les 10 soit remplacer par les nouveau 5 entrée
Euh... ça reviens pas à afficher les 10 derniers enregistrement?
Si tu affiches les 10 derniers enregistrement (les plus récents) et que tu en rajoutes un nouveau (il sera donc le dernier ou, formulé autrement, le plus récent), le plus vieux (parmi ces 10) ne sera plus afficher (mais sera toujours dans la BDD et le nouveau s'affichera alors.
La requête que j'avais mis affiche justement les derniers enregistrement:
$sql = 'SELECT auteur, email, date_signature, message FROM livre_or ORDER BY id DESC LIMIT 10';
Je vois pas la différence entre ce que je te suggère de faire et ce que tu essaie de m'expliquer...