Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/06/2008, 04:53
krlosva
 
Fecha de Ingreso: abril-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
Respuesta: Menu de Navegacion

Hace 4 años de este mensaje pero buscando lo mismo he venido a parar a el, al final he tenido que hacer yo la funcion, te la paso por si te sirve, o a cualquier otra persona..
Suponiendo que tienes las categorias en una base de datos asi...


CREATE TABLE `categorias` (
`codigo` int(11) unsigned NOT NULL auto_increment,
`nombre` varchar(255) default NULL,
`padre` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`codigo`)
) TYPE=MyISAM;
insert into `categorias` values

(1,'categoria1',0),

(2,'categoria1.1',1),

(3,'categoria1.1.1',2),

(4,'categoria1.1.2',2),

(5,'categoria2',0),

(6,'categoria2.1',5);

La funcion:
function urhere($codigo,$simbolo='>'){

$sql="select * from categorias where codigo='$codigo'";
$sql=mysql_query($sql);
$categoria=mysql_fetch_array($sql);
if($categoria['padre']==0){
echo $categoria['nombre'];
return;
}
else{
urhere($categoria['padre'],$simbolo);
echo $simbolo.$categoria['nombre'];
}
}

$codigo seria el identificador de la categoria.
$simbolo es el simbolo por el que quieres que se separen, cat > subcat o cat *-Subcat ,, o el que pongas.
Ejemplo de uso.
urhere(4,'>>');
Resultado
categoria1>>categoria1.1>>categoria1.1.2

Si quieres que al pinchar vaya a esa categoria ya te montas tú el link, seria modificando el echo

Última edición por krlosva; 30/06/2008 a las 05:12