Cfoutput

lemmings Messages postés 51 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 14 novembre 2005 - 3 oct. 2005 à 09:55
cs_bastoun Messages postés 164 Date d'inscription dimanche 1 octobre 2000 Statut Membre Dernière intervention 23 mars 2007 - 8 oct. 2005 à 00:27
salut à tous,

je voudrais savoir comment connaitre le nbr de record que mon query va sortir dans le cas suivant et a l'emplacement précisé :

<cfoutput query="toto" group="col1">
<cfoutput group="col2">
je voudrais connaitre le nbr de boucle qu'il va faire ici mais avant qu'il ne les fasses faire une sorte de recordcount mais limité a un group du cfoutput.
<cfoutput>
</cfoutput>
</cfoutput>
</cfoutput>

le recordcount ne fonctionne que sur le query principal.

Merci de l'attention que vous donnerez a ce mail.

Lemmings

1 réponse

cs_bastoun Messages postés 164 Date d'inscription dimanche 1 octobre 2000 Statut Membre Dernière intervention 23 mars 2007 1
8 oct. 2005 à 00:27
Plusieurs solutions possibles :

-tu fais tes cfoutput dans un cfsavecontent et tu utilises un compteur
quelconque. le problème dans ce cas est qu'il effectue quand même la
boucle, même si tu ne l'affiches pas tout de suite.



-tu fais une requete de requete (cfquery dbtype=query), avec un
count et un group by sur les bonnes colonnes. ça limite le nombre
d'accès à ta base de données, mais prend un peu de mémoire et de temps
(enfin... ça dépend par rapport à ton référetniel, mais cela peut
prendre plusieurs centièmes ou dixièmes de secondes).



-tu fais une première requete pour compter par groupe (count, group
by.. etc..) : cela t'obliges à faire au moins deux requetes : celle de
comptage et celle pour resortir tes tuples, bien que tu puisses
éventuellement ne pas l'effectuer si tu ne souhaites pas
l'afficher pour une raison ou une autre.



-je pense qu'il y a d'autres solutions, mais bon, il est un peu tard...
0
Rejoignez-nous