Bonjour à tous, grace à vous, sur le forum PHP et vos pistes, j'ai reussi a faire mon script de récursivité afin d'afficher le chemin d'un annuaire selon la catégorie choisit, exemple :
> index > informatique > programmation > php
Le petit probleme est que pour chaque rubrique, cela fait une requete ! (ici 3, l'index n'est pas généré par mysql)
Ce qui m'ennui un peut pour un affichage "simple" en plus des requete de l'annuaire :/, Voici le script :
Comme vous le voyez, pour la récursivité, je vai chercher l'id parent de la rubrique actuel afin d'affiché la catégorie dans le niveau inférieur a chaque fois, bref, la question est surtout : Y' t'il un moyen de s'y prendre autrement afin d'avoir une seul requete qui fasse le meme boulot ? (Jointure ou autre)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php function chemin($cat = 0) { $che = mysql_query("SELECT a.id_cat, a.id_parent, a.titre FROM categories a, sites b WHERE a.id_cat='".$cat."' ORDER BY id_cat ASC LIMIT 1") OR DIE (mysql_error()); while($afc = mysql_fetch_object($che)) { chemin($afc->id_parent); echo ' <a href="/index.php?id_cat='.$afc->id_cat.'">'.$afc->titre.'</a>'; } } ?>
Pour chaque catégorie je ne connais pas à l'avance le nombre de sous catégorie imbriqué, si c'était fixe, j'aurais pu sans doute faire une requete sur 3 niveau (2 jointure ou 2 sous requete) un truc dans le genre ...
Bref, merci beaucoup de votre réponse.
Si ca peut aidé je dispose de mysql 5 et php5 pour des fonctions avancé.
Partager