Bonjour,

Je cherche la meilleure façon (en termes de performances notamment) pour afficher les catégories d'un annuaire Internet.

Je vous explique mon besoin :

L'annuaire en question est divisé en catégories, sous catégories, sous sous catégories... Chacune de ces catégories, quelle que soit sa hiérarchie, peut contenir un nombre variable de sites.

Côté internaute, il voit d'abord la page d'accueil, qui liste les catégories mères.
La page catégorie affiche d'abord la liste des sous-catégories (le nombre total de sites contenus dans cette "branche" est affiché entre parenthèses), puis la liste des sites (un lien sera sans doute plus parlant : http://www.voyage-net.com/annuaire/index.php).

Actuellement, la liste des sous catégories est triée par ordre alphabétique. Or, j'aimerais la trier selon le nombre de sites. L'esprit, c'est d'afficher d'abord les sous catég les plus importantes.

En l'état, c'est impossible sans restructurer le code, car en gros, une première requête MySQL extrait les sous catég de la page consultée, puis, pour chaque résultat, une boucle de nouvelles requêtes calcule le nombre de sites associés à cette sous catégories ET ses sous-sous catégories ET ses sous-sous-sous catégories etc...

Voyez-vous une solution propre en MySQL ? Peut-être vaut-il mieux dans un premier temps stocker les résultats dans un tableau PHP, puis modifier les tris en PHP ?

Merci par avance pour votre aide