Max-57450 Posté(e) le 20 novembre 2007 Partager Posté(e) le 20 novembre 2007 Salut à tous ! J'ai un petit problème de conception de module : Je veux lister tout ce qu'il y a dans une table "ARTICLES" mais en affichant seulement 20 articles par pages. J'aimerais faire une fonction qui affiche 20 articles, mais je ne sais pas comment faire car je ne peut pas utiliser la fonction LIMIT car chaque article est défini par un ID, mais il se peut qu'il y ait des articles supprimés. Exemple : j'ai des articles avec les id respectifs 1, 2, 4, 8, 20 et 25. Pourtant au total il n'y a que 6 articles or si je met LIMIT = 20, il m'affichera que les 4 premiers articles... Comment faire alors pour séléctionner le nombre d'article n de la table SQL ? Merci de votre réponse Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiFou86 Posté(e) le 21 novembre 2007 Partager Posté(e) le 21 novembre 2007 Le fait qu'il y ait des trous ne change rien. Il faut bien utiliser LIMIT. si c'est en mysql : (http://dev.mysql.com/doc/refman/5.0/fr/select.html) Si un seul argument est donné, il indique le nombre maximum d'enregistrements à retourner :mysql> SELECT * FROM table LIMIT 5; # Retourne les 5 premiers enregistrements Lien vers le commentaire Partager sur d’autres sites More sharing options...
Max-57450 Posté(e) le 21 novembre 2007 Auteur Partager Posté(e) le 21 novembre 2007 Merci pour ta réponse, mais pourquoi quand j'utilisait le LIMIT et que je mettais LIMIT 0,20 il ne m'affichait que les articles précédents et incluant celui possédant l'id = 20 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiFou86 Posté(e) le 21 novembre 2007 Partager Posté(e) le 21 novembre 2007 LIMIT 0,20 => à partir du premier résultat, se limiter aux 20 premiers. pour ton problème, test tes requettes sql directement par ton client sql (par exemple par phpmyadmin). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.