Return to Snippet

Revision: 4701
at January 16, 2008 18:43 by lisandro


Initial Code
// Paso 1
function arbol( $padre, $nivel, $categoria_selected){
		global $categorias_lista;
		
    	if($padre==0)
			$categorias_lista = '';
				
		$nivel++;
		$r = mysql_query( "SELECT * FROM categorias where parent_id ='$padre' ORDER BY categorias_orden" );
    	while( $rs = mysql_fetch_assoc( $r ) ){
			$categoria_id = $rs["categorias_id"];
        	$categoria_nombre = str_pad($rs["categorias_nombre"], strlen($rs["categorias_nombre"])+(($nivel-1)*3), "=", STR_PAD_LEFT). "<br />";
			
			$categorias_lista .= "<OPTION VALUE='$categoria_id' ";
			if ($categoria_id == $categoria_selected)	$categorias_lista .= " SELECTED";
			$categorias_lista .= ">" . $categoria_nombre . "</OPTION>\n";
			
        	arbol( $categoria_id, $nivel, $categoria_selected);
    	} mysql_free_result( $r );
	
		
	  if($padre==0)
	  	return $categorias_lista;
		
	}

// Paso 2 (Colocar los OPTION dentro de un SELECT)

$categoria_lista = "<select name=\"". $name ."\" id=\"". $name ."\" onChange=\"". $onChange ."\" class=\"".$class."\" ".$disabled.">";
      $categoria_lista .= "<OPTION></OPTION>";
	  
		$nivel = 0;
		$categoria_lista .= arbol( 0, $nivel, $categoria_selected);
		
      $categoria_lista .= "</select>";

Initial URL
www.forosdelweb.com/faqs_De_php

Initial Description
Arbol usado para mostrar categorias dentro de una lista
Cat1
==subcat11
Cat2
==subcat21
====subcat211

Initial Title
Arbol de categorias

Initial Tags
php

Initial Language
PHP