Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1578 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Pagination sans LIMIT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pagination sans LIMIT

n°1922849
Aaron GOUZ​IT
Posté le 10-09-2009 à 10:12:34  profilanswer
 

Bonjour,
je travaille actuellement sous PostGreSQL et je cherche à afficher une table de produits ayant, pour simplifier, cette structure :
 
|      id_produit      |      nom         |        version        |
 
Comme vous pouvez le voir, les produits et leurs versions ne sont pas séparés. Cependant, je voudrais pouvoir afficher toutes les versions sur plusieurs pages, sans séparer les différentes versions d'un produit sur plusieurs pages.
 
Voici le type de requête que je fais actuellement, mais qui ne marche pas vraiment (affiche certaines pages vides, difficile d'y rajouter des conditions):
 
SELECT * FROM Produit pr WHERE  
     (SELECT COUNT(*)+COUNT(DISTINCT nom) FROM produit  
      WHERE nom <= pr.nom
     ) <= $1
 AND
     (SELECT COUNT(*)+COUNT(DISTINCT nom) FROM produit  
       WHERE nom <= pr.nom
     ) > $2
 AND
     <conditions>
;
 
Où $1 est la limite + l'offset, et $2 l'offset.
 
En le réécrivant comme ça je me demande comment ça peut faire un tant soit peu ce que je veux, mais bon, si ça peut vous aider à voir ce que je veux...
 
Je vous remercie d'avance de vos propositions.

mood
Publicité
Posté le 10-09-2009 à 10:12:34  profilanswer
 

n°1922934
rufo
Pas me confondre avec Lycos!
Posté le 10-09-2009 à 13:18:09  profilanswer
 

avec du sql pure, je doute que t'arrive à tes fins (ou alors, en concaténant sur une seule ligne toutes les version d'un produit). Peut-être avec une procédure stockée ou un script (php, par ex), ça le ferait plus facilement...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1922944
Aaron GOUZ​IT
Posté le 10-09-2009 à 14:31:40  profilanswer
 

Hum ça implique de récupérer toute la table à chaque page du coup, si je ne dis pas de bêtise. Après tout c'est vrai qu'elle n'est pas sensé être très grande, donc ça ne pose pas obligatoirement de problème.
Edit : je parle dans le cas de php, et je viens de me dire qu'on peut sinon récupérer toutes les versions d'un produit tant que la limite n'est pas excédée sinon, à voir.
Merci pour ton aide en tout cas, et si quelqu'un a une super requête à proposer je suis quand même preneur :)


Message édité par Aaron GOUZIT le 10-09-2009 à 14:37:50

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Pagination sans LIMIT

 

Sujets relatifs
[Résolu]Bouton <Précédent> <Suivant> PaginationPB Count (Résolu) et un souci de lien de pagination
Encore une question sur la pagination dans une feuille Excel[mysql] limit + not exists
Problème de pagination[SQL]Probleme requete avec LIMIT
[ASP.NET & C#] Pagination : remplacer les numéros par "..."Question simple sur DELETE, LIMIT et ORDER BY
[XSLT] Pagination flux RSS Client seulementProbleme de LIMIT dans un $mysql_query (variables inside:D)
Plus de sujets relatifs à : Pagination sans LIMIT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR