MySQL : Accès au X derniers enregistrements
Fermé
zebiloute
Messages postés
105
Date d'inscription
mardi 15 janvier 2002
Statut
Membre
Dernière intervention
14 avril 2005
-
25 janv. 2002 à 11:55
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 25 janv. 2002 à 15:10
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 25 janv. 2002 à 15:10
A voir également:
- MySQL : Accès au X derniers enregistrements
- Mysql download - Télécharger - Bases de données
- Mysql gratuit ou payant - Forum MySQL
- Xampp mysql ne démarre pas ✓ - Forum MySQL
- Mysql error 1 ✓ - Forum Réseaux sociaux
- Impossible de se connecter au serveur mysql - Forum Ubuntu
2 réponses
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
25 janv. 2002 à 15:10
25 janv. 2002 à 15:10
Essye une requête SQL du genre
SELECT field1,field2 FROM table1 ORDER BY id DESC LIMIT $X
Johan Daine
SELECT field1,field2 FROM table1 ORDER BY id DESC LIMIT $X
Johan Daine
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
Messages postés
105
Date d'inscription
mardi 15 janvier 2002
Statut
Membre
Dernière intervention
14 avril 2005
4
25 janv. 2002 à 13:40
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 -
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 -