Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2012, 08:19
Avatar de romel_inc
romel_inc
 
Fecha de Ingreso: diciembre-2007
Ubicación: Venezuela-monagas
Mensajes: 288
Antigüedad: 16 años, 11 meses
Puntos: 14
alguna idea para hacer esta lógica recursiva

Código:
foreach($elementsData as $k=>$v){		
		// nivel 1
		echo '<li id="'.$v['Category']['id'].'"> '.$v['Category']['name'];	
		if($v['children']){
			// nivel 2
			echo '<ul>';
				foreach($v['children'] as $k2 => $v2){
					//echo '<li id="'.$v2['Category']['id'].'"> '.$v2['Category']['name'];
					//if($v2['children']){ ... }
				}
			echo '</ul>';				
			echo '</li>';	
		}else{
			echo '</li>';
		}	
}

Quiero mostrar un árbol anidado.

PD: se trabajar con funciones, cakephp, prototype, pero esta función recursiva no la veo.

Aquí tengo el codigo para recorre un árbol de 5 niveles


Código:
// solo del 1 al 5 nivel del arbol.
if($elementsData){
	
echo  '<ul id="mytree-standard">';	
	foreach($elementsData as $k=>$v){		
		// nivel 1
		echo '<li id="'.$v['Category']['id'].'"> '.$v['Category']['name'];	
		if($v['children']){
			// nivel 2
			echo '<ul>';
				foreach($v['children'] as $k2 => $v2){
						echo '<li id="'.$v2['Category']['id'].'"> '.$v2['Category']['name'];
						// nivel 3
						if($v2['children']){
								echo '<ul>';
									foreach($v2['children'] as $k3 => $v3){
										echo '<li id="'.$v3['Category']['id'].'"> '.$v3['Category']['name'];
										// nivel 4
										if($v3['children']){
											echo '<ul>';
												foreach($v3['children'] as $k4 => $v4){
													echo '<li id="'.$v4['Category']['id'].'"> '.$v4['Category']['name'];
													// nivel 5
													if($v4['children']){
														echo '<ul>';
														foreach($v4['children'] as $k5 => $v5){
										
															echo '<li id="'.$v5['Category']['id'].'"> '.$v5['Category']['name'].'</li>';
														
														}														
														echo '</ul>';				
														echo '</li>';
													}else{
														echo '</li>';														
													}						
												}
											echo '</ul>';				
											echo '</li>';			
										}else{
											echo '</li>';						
										}
									}
								echo '</ul>';				
								echo '</li>';
						}else{
							echo '</li>';	
						
						}				
				}
			echo '</ul>';				
			echo '</li>';				
		}else{
			echo '</li>';
		}			
	}

echo '</ul>';

}


?>

saludos.
__________________
Lo que se usar (JAVA, Spring MVC, IntelliJ IDEA , GAE, CakePHP, Bootstrap, Underscorejs, jQuery, HTML5, CSS3, JSON, Ajax, Prototype), Aprendiendo a usar Angularjs y Git.