Accueil > Forum > > > > Pagination d'une requête 109 ligne sur pages de 20 lignes
Pagination d'une requête 109 ligne sur pages de 20 lignes
jeudi 16 octobre 2008 à 11:42:54 |
Pagination d'une requête 109 ligne sur pages de 20 lignes

ragmo
|
Bonjour, Je voulais savoir comment on pouvait gérer la pagination des nombres de lignes ramenées par une requête (Base MySQL) pour n'afficher que 20 lignes par page (en PHP), et qu'en bas de la page on a l'accès aux autres pages 1, 2, 3, 4, 5, .. >> (si l'on est sur la première page). Je sais que que le nombre de mes pages est le rapport (Nbr lignes résaltant de la requête / 20) +1 si le reste est différent 0. Mais problème se situe dans l'appel de la page appelée, comment faire en sorte que les données des lignes 21 à 40 s'affichent quand j'appelle la page 2. Cordialement.
|
|
jeudi 16 octobre 2008 à 12:04:16 |
Re : Pagination d'une requête 109 ligne sur pages de 20 lignes

neigedhiver
|
Salut, La lecture de la doc pourrait s'avérer utile, avant de poser ce genre de question. http://dev.mysql.com/doc/refman/5.0/fr/select.html La clause LIMIT peut être utilisée pour limiter le nombre d'enregistrements retournés par la commande SELECT. LIMIT accepte un ou deux arguments numériques. Ces arguments doivent être des entiers constants. Avec un argument, la valeur spécifie le nombre de lignes à retourner depuis le début du jeu de résultat. Si deux arguments sont donnés, le premier indique le décalage du premier enregistrement à retourner, le second donne le nombre maximum d'enregistrement à retourner. Le décalage du premier enregistrement est 0 (pas 1) : Pour être compatible avec PostgreSQL, MySQL supporte aussi la syntaxe : LIMIT row_count OFFSET offset. mysql> SELECT * FROM table LIMIT 5,10; # Retourne les enregistrements 6 à 15
Pour obtenir tous les enregistrement d'un certain décalage jusqu'à la fin du résultat, vous pouvez utiliser de grands entier en tant que second paramètre : mysql> SELECT * FROM table LIMIT 95,18446744073709551615; # Retourne les enregistrements de 96 jusqu'au dernier.
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
Autrement dit, LIMIT n est équivalent à LIMIT 0,n.
Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
|
|
jeudi 16 octobre 2008 à 12:36:29 |
Re : Pagination d'une requête 109 ligne sur pages de 20 lignes

ragmo
|
Merci Neige,
Donc, si j'ai bien compris, à chaque fois que je dois afficher une page je relance une nouvelle requête ? Cela me paraîtrait un peu lourd. Donc au total, j'aurai ma première requête pour compter le nombre de lignes concernées, puis je fais une deuxième requête pour ramener la première page les lignes de 1 à 20 si cette page est demandée, ensuite quand je clique sur le lien pointant sur la page 2 je relance ma requête encore une nouvelle pour ramener les lignes de 21 à 40, et ainsi de suite jusqu'à la limite de mes nombre de lignes ??
Cela peut marcher, mais je me demande s'il n'y a pas un moyen me permettant d'économiser les entrée/sortie à la base tel que le rafraîchissment des données préalablement stockées dans un tableau par exemple.
Cordialement
|
|
jeudi 16 octobre 2008 à 13:05:55 |
Re : Pagination d'une requête 109 ligne sur pages de 20 lignes

neigedhiver
|
Si, c'est possible, il faudrait pour cela mettre le résultat de la requête en cache. La GRANDE question est : comment le mettre en cache... Et c'est là qu'on se rend compte que finalement, refaire la requête, c'est pas plus lourd que de mettre en cache, lire, parcourir jusqu'au premier enregistrement à prendre... Si la table est correctement indexée, ça ne posera pas de problème particulier... Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
|
|
jeudi 16 octobre 2008 à 17:22:33 |
Re : Pagination d'une requête 109 ligne sur pages de 20 lignes

Ordinastie
|
Bonjour,
Tu n'es pas obligé d'éxécuter plusieurs fois ta requête. Regarde du coté de la fonction FOUND_ROWS() ( [ Lien ])
Ordinastie.
|
|
mercredi 19 novembre 2008 à 18:14:23 |
Re : Pagination d'une requête 109 ligne sur pages de 20 lignes
|
Cette discussion est classée dans : page, pages, lignes, requête, pagination
Répondre à ce message
Sujets en rapport avec ce message
Page multiples dans résultats MySQL [ par pyranhaz ]
Bonjour,Existe-il une astuce simple pour que lorsque je fais une requête MySQL sur mon site on m'affiche les pages contenant au maximum 25 résultats p
Pagination avec nombre de pages [ par sebalex ]
Salut à tous,Voilà, j'ai une liste résultant d'une recherche. Cette liste se limite à 5 résultats par page. A présent, je souhaite faire comme la plup
recherche+pagination [ par squago ]
Bonjour à tous, C'est un homme au bord de la crise de nerfs qui vous écrit. Je cherche à adapter un code de recherche et pagination que j'ai récupéré
probleme pagination avec plusieur requet sql [ par dpk1 ]
bonjour à tous, je suis débutant autodidacte et je fais mon premier site en php. voila j'ai une pagination que j"ai repris qui fonctionne très bien l
Problème affichage de résultats sur plusieurs pages [ par Audreypf ]
Bonjour à tous, j'ai cherché une solution sur le net mais je ne trouve pas la solution. Voici mon problème. D'abord, je précise que je suis débutante
Formulaire sur plusieurs pages [ par VEIIZ0N ]
Bonsoir a tous ! Je suis débutant en php , enfin j'ai quand même reussi a créé mon site en cherchant sur internet etc mais je ne réussi pas ou plutô
système de pagination en PHP4 [ par fijou12 ]
bonjour à tous j'ai un problème, en ce qui concerne le système de pagination, je n'arrive pas a comprendre comment créer les pages(pour afficher les m
creer un bloc fixe dans toute les pages [ par itachi2255 ]
bonjour, je suis debutant et je voulais creer un petit site internet dans lequel ya plusieurs page. et je voudrais que la partie supperieure qui conti
page 404, 500 etc... [ par eva4 ]
bonjour, Pour finalisé mon site j'ai crée des pages d'erreurs. une page que j'ai appelé 404.php, 500.php, 503.php etc.... voici le contenu de mon fi
Je n'arrive pas à récupérer une variable d'une page à l'autre [ par boubeuch1 ]
Bonjour, Sur l'une de mes pages php j'ai mis un input qui affiche le nom de la musique que je viens de télécharger. Musique : " > Sur la seconde pa
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|