Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Obtener relacion de categorias en busqueda de productos

Estas en el tema de Obtener relacion de categorias en busqueda de productos en el foro de Mysql en Foros del Web. Buen día amigos. Mi problema es el siguiente, quiero hacer un sitio web que muestre un catalogo de productos y tengo 5 días pensando cómo ...
  #1 (permalink)  
Antiguo 19/06/2011, 10:14
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 1
Obtener relacion de categorias en busqueda de productos

Buen día amigos. Mi problema es el siguiente, quiero hacer un sitio web que muestre un catalogo de productos y tengo 5 días pensando cómo hacer la relación producto-categorías y lo diseñe de la siguiente manera:

TBL-PRODUCTO
Id-producto
Nombre-producto

TBL-CATEGORIA
Id-categoria
Nombre-categoria
dependencia

TBL-RELACION-PROD-CAT
Id-producto
Id-categoria

Creando subcategorias en la misma tabla categorías mediante el campo ‘dependencia’ colocando el valor 0 si es una categoría principal, o si es una subcategoria el valor del id-categoria de su respectiva categoría principal, explico un ejemplo:

Registros en TBL-CATEGORIA:
(4, IMPRESORAS, 0)
(9, LASER, 4)
(20, INYECCIÓN DE TINTA, 4)

Registro en TBL-PRODUCTO
(1, 'IMPRESORA DESKJET 1460')

Registro en TBL-RELACION-PROD-CAT
(1,20)

IMPRESORAS es la categoría principal y LASER e INYECCIÓN DE TINTA son subcategorías de IMPRESORAS, y existe un producto que pertenece a la categoria INYECCIÓN DE TINTA.

Mi problema: quiero hacer los hipervínculos tipo mercadolibre x categorías manteniendo relación con una palabra buscada y asi como como diseñe la tabla es un poco complicado mantener la relación de categorías y subcategorias con los productos, me explico un poco, si busco la palabra impresora, obtener cuantos registro existen dependientes de la categoría IMPRESORAS, sabiendo que tengo 50 registro con categoria laser y 50 INYECCIÓN. Esto mediante mysql o tratando los menos posible de utilizar php. Si existe un mejor diseño de las tablas en la cual esto sea más fácil les agradecería también ese favor xq de verdad investigue y no conseguí mucho.
  #2 (permalink)  
Antiguo 20/06/2011, 05:44
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener relacion de categorias en busqueda de productos

creo q la solucion es recursividad en procedimientos almacenados... alguien q sepa sobre ese tema?
  #3 (permalink)  
Antiguo 20/06/2011, 07:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Obtener relacion de categorias en busqueda de productos

Si: Que MySQL no permite procedimientos o funciones recursivas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 20/06/2011, 08:09
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Mensaje Respuesta: Obtener relacion de categorias en busqueda de productos

Hola,

Las funciones almacenadas (stored functions) recursivas no están permitidas, pero los procedimientos almacenados (stored procedures) si pueden ser recursivos.

En el manual se indica lo siguiente:

Cita:
[url=http://dev.mysql.com/doc/refman/5.5/en/stored-routines-syntax.html]17.2.1. Stored Routine Syntax[/url]
...
Stored functions cannot be recursive.

Recursion in stored procedures is permitted but disabled by default. To enable recursion, set the [url=http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_max_sp_recursion_depth]max_sp_recursion_depth[/url] server system variable to a value greater than zero. Stored procedure recursion increases the demand on thread stack space. If you increase the value of [url=http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_max_sp_recursion_depth]max_sp_recursion_depth[/url], it may be necessary to increase thread stack size by increasing the value of [url=http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_thread_stack]thread_stack[/url] at server startup. See [url=http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html]Section 5.1.3, “Server System Variables”[/url], for more information.
...
  #5 (permalink)  
Antiguo 21/06/2011, 09:41
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener relacion de categorias en busqueda de productos

solo quiero que un procedimiento q me devuelva algo asi

idcategoria iddepend
1-------------0
2-------------1
3-------------2
4-------------3
5-------------4

q finalice al encontrar una categoria con dependencia 0....
pienso en algo asi
[
mientras i<total de arrglolistacategoria[] hacer
mientras idbuscar!=0 hacer

select id,dep de categorias where id=idbuscqr
retur-id[][]=id,dep
idbuscar=dep

fin mientras buscando id

fin mientras explorando lista de categorias q envie o categoria individual (como sea me sirve)

retornar retur-id[][]

fin
]

esto pero en un procedimiento... claro si es posible.

Última edición por cm_vargas; 21/06/2011 a las 09:59

Etiquetas: categorias, productos, relacion, busquedas
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 20:38.