raf0002
Messages postés2Date d'inscriptionlundi 11 août 2003StatutMembreDernière intervention10 septembre 2003
-
10 sept. 2003 à 17:35
cs_lfontaine
Messages postés203Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention11 mai 2006
-
12 sept. 2003 à 01:13
Salut à tous,
Je veux afficher le résultat d'une query sur plusieurs pages, ma query me
sort 9300 enregistrements et je voudrais paginer par paquet de par exemple
50.
Actuelement, j'y arrive en comptant le nombre d'enregistrement, ensuite en
les affichants par 50 et avec deux liens pour aller 50 après et avant. Mais
je travaille avec les id de la table, hors si au millieu de ma liste j'ai un
enregistrement qui a été supprimé et qui était l'id 142 et que j'affiche les
id de 100 à 150, il ne m'en affiche que 49 au lieu de 50...
Mon but est vraiment de ne prendre que 50 résultats dans la table car si je
sort les 9300 et que je n'en n'affiche que 50, le serveur commence à
pleurer.
cs_Metrox
Messages postés267Date d'inscriptionjeudi 19 septembre 2002StatutMembreDernière intervention 8 septembre 2013 10 sept. 2003 à 17:46
Skyride avait sorti une source permettant de paginer les résultats d'une requête... je te la note ci dessous, et je l'ai adaptée à tes besoins...
<!-- Requête de sélection des produits -->
<cfquery name= "listproduit" datasource="pagination">
SELECT * FROM PRODUIT
</cfquery>
<!-- A vous de paramétrer ces 2 variables -->
<cfset NbNumberPage = 10000> <!-- Nombre de numéros de pages affichées -->
<cfset NbEnregByPage = 50> <!-- Nombre d'enregistrements par page -->
raf0002
Messages postés2Date d'inscriptionlundi 11 août 2003StatutMembreDernière intervention10 septembre 2003 10 sept. 2003 à 19:14
Superbe, merci beaucoup, un peu customisation et ceci est vraiment nikel et surtout très simple, pourquoi n'y avais-je pas pensée... Certainement un peu de fatigue :)
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 11 sept. 2003 à 22:56
Alors moi je vais nuancer cette solution !! Parce ke le SGBD ki te ramene 9300 réponses, je pense po k'il aime !!
Donc je te propose une requete en 2 étapes :
D'une, tu fais un Select count(*) dans ta table --> Réponse 9300
Et deux (solution si tu es sous SQL Server) Select TOP #Toto# * from Ta_Table
Pourkoa, tout simplement pour solliciter le moins le SGBD ki te rameneras plus les 9300 lignes !! Le pov' il faut le soulager !! LOL !! Et puis tu devrais avoir de meilleurs temps de réponses, sur en montée en charge.
S.
cs_lfontaine
Messages postés203Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention11 mai 2006 12 sept. 2003 à 01:13
Vu que ca l'air d'atre une requete globale.
Perso j'hesite entre 2 options
- cacher la requete (pour eviter de faire travailler la bdd)
- copier le resultat de la requete dans une structure en session ou server (suivant)