Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Crear categorías y subcategorías infinitas Responder al tema
Nuevo tema


Página 1 de 1  [ 10 mensajes ] 
 
Nota 2009-01-31 13:36 @608

Perlero Nuevo
Registrado: 2008-10-28 11:29 @520
Ubicación: Chihuahua, Chih. Mexico
Mensajes: 60
Crear categorías y subcategorías infinitas
Hola que tal amigos, pues aquí haciéndome otros cuestionamientos. Esta vez son en busca de opiniones acerca de un problema de base de datos.

Resulta que estoy haciendo una aplicación web en la cual tenemos un menú principal, del cual a su vez salen una serie de submenús, pero también hay casos en los que de los submenús vuelve a salir otros submenús.

Me explicaré mejor. Yo en mi administrador puedo crear una categoría principal. De esta categoría principal puedo crear una subcategoría; de esta subcategoría puedo crearle otra sub-subcategoría y así consecutivamente. De esa manera se va creando un árbol del cual yo genero un menú JavaScript.

Mi problema es cómo poner esto en una base de datos, de manera que el usuario pueda crear tantas subcategorías como desee.

Gracias de antemano.

_________________
Say hello to my little friend!!!


Nota 2009-01-31 14:59 @666
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Si la información que tiene cada categoría es igual a las demás, entonces te vale con guardar la información en una tabla.

Cada registro de la tabla debe indicar a qué categoría padre pertenece. Así, cuando presentes un nivel de categoría, solo tienes que hacer una consulta en la tabla para buscar aquellas categorías que cuelgan de ella.

_________________
JF^D Perl programming


Nota 2009-01-31 16:56 @747

Perlero Nuevo
Registrado: 2008-10-28 11:29 @520
Ubicación: Chihuahua, Chih. Mexico
Mensajes: 60
¿Cómo? O sea, guardar toda la información en una sola tabla.

No entiendo bien. ¿Cómo puedo yo sacar el árbol de categorías con los registros teniendo solamente el padre de categoría?

¿Podrías explicármelo de manera más simple?, jeje, es que estoy muy perdido.

Gracias.

_________________
Say hello to my little friend!!!


Nota 2009-01-31 17:26 @768
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
En una tabla, cada categoría tiene un campo (categoria_padre) que indica el número de la categoría padre a la que pertenece.

Cuando quieras pintar las subcategorías de una categoría X, haces una consulta a la base de datos, seleccionando aquellas categorías que tienen en el campo categoria_padre igual al valor X.

Y esto lo puedes repetir para cada nivel de presentación.

Esto es lo que se llama en Estructuras de Datos Base de datos jerárquica. En la versión inglesa de la página tienes un pequeño ejemplo.

_________________
JF^D Perl programming


Nota 2009-01-31 17:54 @787

Perlero Nuevo
Registrado: 2008-10-28 11:29 @520
Ubicación: Chihuahua, Chih. Mexico
Mensajes: 60
Genial, justo lo que necesitaba, ¿cómo es posible que siempre tienes las respuestas tan rápido?, ¿cómo lo haces?

Gracias.

_________________
Say hello to my little friend!!!


Nota 2009-01-31 18:14 @801
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Me debo estar haciendo viejo...

La verdad, es el fruto de una buena educación en informática teórica. Mucho de leer y probar, teoría y práctica. Sobre todo, leer y aprender.

Y saber buscar cuando no se sabe.

_________________
JF^D Perl programming


Nota 2009-02-01 12:07 @547
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Encontré un módulo en Perl que hace justamente eso: Tree::Numbered::DB.

(ya me extraña que no existiera)

_________________
JF^D Perl programming


Nota 2009-02-04 20:59 @916

Perlero Nuevo
Registrado: 2008-10-28 11:29 @520
Ubicación: Chihuahua, Chih. Mexico
Mensajes: 60
Bien, probaré ese módulo en mi siguiente proyecto porque gracias a la técnica que me comentaste pude terminar mi proyecto anterior. Gracias por la información.

Salu2

_________________
Say hello to my little friend!!!


Nota 2009-02-09 19:07 @838

Perlero Nuevo
Registrado: 2008-10-28 11:29 @520
Ubicación: Chihuahua, Chih. Mexico
Mensajes: 60
Excelente, ahora estoy teniendo problemas para desplegar el árbol con todas las categorías, sé que debo utilizar recursividad en mi función pero me arroja error al utilizar recursividad.

Alguien me comento que al utilizar recursividad en Perl debo de utilizar una diagonal o algo así pero no encontré nada al respecto.

_________________
Say hello to my little friend!!!


Nota 2009-02-10 05:18 @262
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
¿Qué error te sale?

¿Diagonal? Es la primera vez que oigo ese término hablando de recursividad...

_________________
JF^D Perl programming


Responder al tema  [ 10 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO