Table catégorie, fonction boucle récursive
Résolu/Fermé
ricoswx
Messages postés
3
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
11 janvier 2009
-
9 janv. 2009 à 23:12
ricoswx Messages postés 3 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 11 janvier 2009 - 11 janv. 2009 à 01:15
ricoswx Messages postés 3 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 11 janvier 2009 - 11 janv. 2009 à 01:15
A voir également:
- Table catégorie, fonction boucle récursive
- Table ascii - Guide
- Fonction si et - Guide
- Table des matières word - Guide
- Fonction moyenne excel - Guide
- Fonction filtre excel n'existe pas - Forum Excel
3 réponses
Attention, je n'ai pas fignolé. Pas de protection contre les données incohérentes : plantage assuré en cas de référence circulaire par exemple.
Je n'utilise pas le champ CAT_PROFONDEUR, son équivalent est la variable $profondeur qui est incrémentée pour l'appel à l'analyse des descendants.
Je n'utilise pas le champ CAT_PROFONDEUR, son équivalent est la variable $profondeur qui est incrémentée pour l'appel à l'analyse des descendants.
function DescendantsDe($parent,$profondeur) { $query="SELECT * FROM `category` WHERE `CAT_PARENT_ID`= $parent ORDER BY `CAT_NOM`"; // ORDER BY selon les besoin $resultat= mysql_query($query) or die(mysql_error()); // extraire les sous-catégories de $parent $nb = mysql_num_rows($resultat); if ($nb==0) return; // il n'y en a pas, fini // il y a des descendants if ($profondeur==0) echo "<select>"; // c'est le début de l'analyse while ($fils=mysql_fetch_array($resultat)) { // boucle sur les descendants echo '<option>',str_repeat('- ',$profondeur + 1), htmlentities( $fils['CAT_NOM']), '</option>'; // afficher la catégorie DescendantsDe($fils['CAT_ID'], $profondeur + 1); // afficher récursivement les sous-catégories } // while if ($profondeur==0) echo "</select>"; // fin de l'analyse } // function DescendantsDe // connexion comme d'hab, puis DescendantsDe(0,0); // création du SELECT
Bonjour
Sujet pas tout à fait immédiat, même si le script résultant est sûrement assez court.
Remarque : la colonne Cat_Profondeur est théoriquement inutile. Que faire si elle dit qu'une catégorie est de profondeur 3 alors qu'elle a un parent de profondeur 1 ?
J'ai bien envie de le faire, mais j'espère que que tu n'es pas trop pressé.
Sujet pas tout à fait immédiat, même si le script résultant est sûrement assez court.
Remarque : la colonne Cat_Profondeur est théoriquement inutile. Que faire si elle dit qu'une catégorie est de profondeur 3 alors qu'elle a un parent de profondeur 1 ?
J'ai bien envie de le faire, mais j'espère que que tu n'es pas trop pressé.
ricoswx
Messages postés
3
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
11 janvier 2009
11 janv. 2009 à 00:59
11 janv. 2009 à 00:59
Merci toto ! ;-)
Je vais déjà faire mes tests et te commenter mes résultats mais un grand MERCI d'avance!
Je vais déjà faire mes tests et te commenter mes résultats mais un grand MERCI d'avance!
11 janv. 2009 à 01:15