Signaler

MySQL : Accès au X derniers enregistrements [Fermé]

Posez votre question zebiloute 105Messages postés mardi 15 janvier 2002Date d'inscription 14 avril 2005 Dernière intervention - Dernière réponse le 25 janv. 2002 à 15:10 par jisisv
Ayant des connaissance très limité en SQL, je désire obtenir, les X derniers enregistrements d'une table.

Au début je faisais ç avec la clé primaire qui est en 'autoincrément'. Mais le Pb est quand je supprime un des enregitrements cela fout tous en vrac. La méthode qui consiste à tous les récupérer (SELECT * FROM table) et ne prendre que les X dernier prend beaucoup trop de ressources( Et ren plus ce n'est po propre du tout (Au niveau code)!! )

Donc si il y a un gourou SQLien(ne) qui peut me filer un coup de main, cela serait sympa.

Merci d'avance.

Quand ça veut Po ça veut po !!!
- Et ben y a plus qu'à attendre -
Afficher la suite 
Utile
+4
plus moins
Essye une requête SQL du genre

SELECT field1,field2 FROM table1 ORDER BY id DESC LIMIT $X

Johan Daine
Cette réponse vous a-t-elle aidé ?  
Utile
+3
plus moins
Tu dois mettre un id sur ta table avec la valeur autoincrement, et lors de ta requete tu rajoute order by id desc .. ensuite tu boucle pour n'afficher que les dix premiers.
zebiloute 105Messages postés mardi 15 janvier 2002Date d'inscription 14 avril 2005 Dernière intervention - 25 janv. 2002 à 13:40
C'est ce que je faisais avant :

Ex pour les Id :

1, 2, 3, 4 , 8, 9, 10, 11, 14, 15, 17

Moi ce que je voudrais c'est qu'une requête ne me fournissent que les 5 derniers enregistrements. donc

10, 11, 14, 15, 17.

La méthode basic voudrais que je fasse :
"SELECT * FROM table ORDER BY Id" et avec la fonction "mysql_fetch_array", ou alors "mysql_data_seek", je vais directement au pointeur d'enregistrements (COUNT-5).

Mais là tu vois que la requête de base doit stocker tous les enregistrements de la table dans une zone mémoire. Ceci n'est pas terrible d'un point de vue programmation. en effet on alloue énormement de mémoir (Là y qu'une 15ène d'enregistrement, mais lorsqu'il y en a 10000 le Pb de mémoire va devenir pharaonique).

Tu vois le Pb. Je ne connais pas assez ce domaine, et c'est pour cela que je demande si il y a une méthode simple et efficace d'obtenir les X dernier enregistrement d'une tabel sachant que les séquence ne sont pas linéaire (voir Ex).

Quand ça veut Po ça veut po !!!
- Et ben y a plus qu'à attendre -

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !