Foros del Web » Programando para Internet » PHP »

Bucle para árbol de categorías

Estas en el tema de Bucle para árbol de categorías en el foro de PHP en Foros del Web. Hola, a ver si me pueden ayudar con alguna idea. Tengo en una BD una tabla llamada "categorias", con estos campos: ID...............Nombre.......ID_padre ______________________________ 1.................colores...........0 2.................frios...............1 ...
  #1 (permalink)  
Antiguo 16/05/2007, 08:22
Avatar de Jandroide  
Fecha de Ingreso: marzo-2004
Mensajes: 96
Antigüedad: 20 años, 8 meses
Puntos: 1
Bucle para árbol de categorías

Hola, a ver si me pueden ayudar con alguna idea.

Tengo en una BD una tabla llamada "categorias", con estos campos:

ID...............Nombre.......ID_padre
______________________________
1.................colores...........0
2.................frios...............1
3.................cálidos...........1
4.................azul...............2
5.................blanco............2
6.................rojo................3
7.................amarillo...........3


Lo que quiero es simplemente una página a la que se le pase una categoría y entonces haya un bucle que la "desarrolle" hasta el final. Por ejemplo, si cogemos la categoría con ID = 1, nos mostraría esto:

-colores
-frios
-azul
-blanco
-cálidos
-rojo
-amarillo
  #2 (permalink)  
Antiguo 16/05/2007, 08:40
Avatar de Jandroide  
Fecha de Ingreso: marzo-2004
Mensajes: 96
Antigüedad: 20 años, 8 meses
Puntos: 1
Re: Bucle para árbol de categorías

¡¡Mil perdones!!

No busqué bien y ya he encontrado exacatamente lo que quería, que era esto

No volverá a ocurrir...
  #3 (permalink)  
Antiguo 16/05/2007, 09:44
 
Fecha de Ingreso: julio-2004
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Bucle para árbol de categorías

Hola amigo yo tambien tenia el mismo problema que tu, tambien logre solucionarlo con la misma funcion que tu comentas. Ahora tu sabras como hacer la navegacion que regularmente se coloca arriba para guiar a la persona donde se encuentra y de que categoria proviene.

ej: colores > frios > azul

y que tanto "colores" como "frios" tengan enlace a la X lugar.

Es decir que siempre que me muestre un hijo, me diga cual son sus padres, abuelos y me permita por un ancla ir a ellos.

Espero me puedan ayudar.
  #4 (permalink)  
Antiguo 16/05/2007, 10:31
Avatar de Jandroide  
Fecha de Ingreso: marzo-2004
Mensajes: 96
Antigüedad: 20 años, 8 meses
Puntos: 1
Re: Bucle para árbol de categorías

Entonces lo que quieres lo mismo pero al revés, es decir, sabiendo un elemento, desarrollar el árbol hacia arriba.

Yo lo he resuelto así:

Código PHP:

/* Sabemos que el id del elemento del que partimos es 15
y su idPadre es 11 */
$cadena 'azul';
$id 15;
$idPadre 11;

mysql_select_db('basededatos');

/* Habrá que hacer un bucle que se detenga cuando el
 elemento que esté tratando ya no tenga padre
 (su idPadre sea 0) */
while($idPadre != 0){
    
$sql "SELECT * FROM categs WHERE id = '$idPadre'";
    
$rs=mysql_query($sql);
    
$datos mysql_fetch_array($rs);
    
$cadena $datos['nombre'].' > '.$cadena;
    
$idPadre $datos['idPadre'];
}

echo 
$cadena
Espero que te sirva.
  #5 (permalink)  
Antiguo 16/05/2007, 10:54
 
Fecha de Ingreso: julio-2004
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Bucle para árbol de categorías

Hola Jandroide, de antemano gracias por tu ayuda, sin embargo no me corrio, parece que se me queda pegado en un ciclo infinito.

Fijate a un $id que no usas nunca dentro del codigo

/* Sabemos que el id del elemento del que partimos es 15
y su idPadre es 11 */
$cadena = 'azul';
$id = 15; <---------------------- Nunca usas esa variable en el codigo.
$idPadre = 11;



Te anexo el codigo a como lo utilize yo:
Código PHP:
while($idPadre != 0){ 
    
$sql "SELECT * FROM editoriales WHERE base = '$idPadre'"
    
$rs=mysql_query($sql); 
    
$datos mysql_fetch_array($rs); 
    
$cadena $datos['nombre'].' > '.$cadena
    
$idPadre $datos['base']; 


echo 
$cadena

Mi base de datos esta asi:
id_editorial | Base | Nombre

Donde id_editorial es el id asignado, unico y autoincrementable, y base guarda el padre de la categoria, las que son principales almacenan el valor 0

Espero me puedas hechar una mano.
  #6 (permalink)  
Antiguo 16/05/2007, 11:43
 
Fecha de Ingreso: julio-2004
Mensajes: 44
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Bucle para árbol de categorías

Ya logre imprimir la cadena, ahora bien, me interesa ponerle a cada uno de los padres un link, la verdad no encuentro la manera.

Lo que yo pineso es ir sacando los padres con link, al final concateno todo ya con links y todo.

Pero nada que me sale.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:04.