Fonction récursive et indentation des éléments
3 messages
• Page 1 sur 1
- Pierre-Henri
- Nouveau WRInaute

- Messages: 13
- Inscription: 21 Jan 2010
Fonction récursive et indentation des éléments
Bonjour,
Je travaille actuellement pour l'un de mes clients sur une gestion approfondie des pages de contenu.
Je développe mon propre CMS que j'adapte au fil des demandes.
La gestion approfondie des pages inclue la gestion parent-enfant. Ce qui permet de définir telle ou telle page comme étant une sous page.
Exemple : La page « Réinstallation d'un OS » pourrait être une sous-page de « Dépannage informatique ».
Ma fonction récursive fonctionne au poil. Elle parcourt bien l'ensemble de l'arborescene et me retourne un array() de toutes mes pages. Cependant, elle ne gère pas l'indentation...
Comment gérer l'indentation dans cette fonction pour que les noms des sous-pages soient indentés d'un " ", que les sous-sous-pages soient indentées d'un " ", ...
Merci par avance pour votre réponse.
pH
Je travaille actuellement pour l'un de mes clients sur une gestion approfondie des pages de contenu.
Je développe mon propre CMS que j'adapte au fil des demandes.
La gestion approfondie des pages inclue la gestion parent-enfant. Ce qui permet de définir telle ou telle page comme étant une sous page.
Exemple : La page « Réinstallation d'un OS » pourrait être une sous-page de « Dépannage informatique ».
Ma fonction récursive fonctionne au poil. Elle parcourt bien l'ensemble de l'arborescene et me retourne un array() de toutes mes pages. Cependant, elle ne gère pas l'indentation...
Comment gérer l'indentation dans cette fonction pour que les noms des sous-pages soient indentés d'un " ", que les sous-sous-pages soient indentées d'un " ", ...
- Code: Tout sélectionner
// Liste pages, nested pages
function pages_list($parent = 0, &$catlistids = array(), &$indent = '') {
global $db;
$pages_query = "SELECT pages_id, pages_title, parent_id FROM ".TABLE_PAGES." WHERE parent_id='".$parent."' ORDER BY sort_order ASC";
$pages = $db->prepare($pages_query);
$pages->Execute();
if ($pages->RowCount() > 0) {
$pages->setFetchMode(PDO::FETCH_ASSOC);
while ($pages_res = $pages->fetch()) {
$catlistids[] = array( 'parent' => $pages_res['parent_id'],
'id' => $pages_res['pages_id'],
'link' => href_link('page', $pages_res['pages_id']),
'title' => $indent.$pages_res['pages_title']);
pages_list($pages_res['pages_id'], &$catlistids, &$indent);
}
return $catlistids;
}
$pages = NULL ;
}
Merci par avance pour votre réponse.
pH
-

spout - WRInaute accro

- Messages: 4378
- Inscription: 14 Mai 2003
Re: Fonction récursive et indentation des éléments
http://www.sitepoint.com/hierarchical-data-database/
- Code: Tout sélectionner
echo str_repeat(' ',$level).$row['title']."\n";
- Pierre-Henri
- Nouveau WRInaute

- Messages: 13
- Inscription: 21 Jan 2010
Re: Fonction récursive et indentation des éléments
Merci pour ta réponse.
pH
pH
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
