Fonction récursive et indentation des éléments

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Pierre-Henri, 28 Septembre 2011.

  1. Pierre-Henri
    Pierre-Henri Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    46
    J'aime reçus:
    0
    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 "  ", ...

    Code:
    // 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
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 182
    J'aime reçus:
    351
    http://www.sitepoint.com/hierarchical-data-database/
    PHP:
    <span class="syntaxdefault"><br /></span><span class="syntaxkeyword">echo&nbsp;</span><span class="syntaxdefault">str_repeat</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'&nbsp;&nbsp;'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$level</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">$row</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"\n"</span><span class="syntaxkeyword">;<br />&nbsp;</span><span class="syntaxdefault"></span>
     
  3. Pierre-Henri
    Pierre-Henri Nouveau WRInaute
    Inscrit:
    21 Janvier 2010
    Messages:
    46
    J'aime reçus:
    0
    Merci pour ta réponse.

    pH
     
Chargement...
Similar Threads - Fonction récursive indentation Forum Date
Une aide pour une fonction récursive... Développement d'un site Web ou d'une appli mobile 18 Juillet 2022
Fonction récursive PHP. Développement d'un site Web ou d'une appli mobile 24 Avril 2021
fonction recursive Développement d'un site Web ou d'une appli mobile 20 Mai 2015
Planethoster - redirection http vers https non fonctionnelle URL Rewriting et .htaccess 21 Septembre 2022
Problème sur jquery avec fonction asynchrone Développement d'un site Web ou d'une appli mobile 6 Septembre 2022
WordPress Rediriger le visiteur en fonction de la langue du navigateur Référencement international (langues, pays) 12 Août 2022
Adresse mail ne fonctionne plus après modif de DNS Noms de domaine et référencement 26 Mai 2022
Méthode qui fonctionne le mieux en référencement SEO Débuter en référencement 19 Avril 2022
Onclick Select ne fonctionne pas dans Chrome Développement d'un site Web ou d'une appli mobile 21 Mars 2022
Des adresses qui ne fonctionnent plus... Développement d'un site Web ou d'une appli mobile 6 Novembre 2021
fonctionnement précis outil suppression url search console Débuter en référencement 18 Octobre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
ma redirection ne fonctionne pas URL Rewriting et .htaccess 18 Août 2021
url rewriting ne fonctionne pas chez moi URL Rewriting et .htaccess 4 Août 2021
mon code ne fonctionne pas pour masquer les .php URL Rewriting et .htaccess 31 Juillet 2021
htaccess qui fonctionne partout sauf sur 1 seul PC URL Rewriting et .htaccess 28 Juillet 2021
La fonction mail (PHP) ne passe pas ! Demandes d'avis et de conseils sur vos sites 28 Juin 2021
Outil "Désavouer des liens" ne fonctionne plus Netlinking, backlinks, liens et redirections 18 Mai 2021
Annonces thématiques non fonctionnelles AdSense 6 Avril 2021
Récapitulatif Les CMP (Consent Management Platform) : intérêt, fonctionnement... Administration d'un site Web 30 Mars 2021