Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/10/2008, 21:24
ratamaster
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Problema con función recursiva

Cita:
Iniciado por okram Ver Mensaje
Guardas los ids devueltos en un array. Luego, al ejecutar tu función recursiva, antes de re-ejecutar la función, vez si la categoría que deseas "abrir" se encuentra en el array que has creado. Si no está, no la "abres".

Saludos,
1)No es una cuestión de abrir o dejar cerrado N nodos del árbol que no posea productos que hagan match, sino no mostrarlos, Solo debo mostrar los nodos (desde el root) hasta llegar a los productos. Todos los Nodos que no esten relacionados con los productos, no los debo mostar.

2) Si hago lo que me dices, estaría dejando afuera a las categorias padres del producto, o sea:

Ejecuto....:
Código PHP:
SELECT DISTINCT CatId FROM imported_data_copy WHERE ProdName LIKE '%manolo%' 
Basandome en esta tabla:

imported_data_copy ( productos )
ImpDatId----CatId---ProdName
1--------------1--------producto pepe
2--------------1--------producto juan
3--------------3--------producto manolo
4--------------3--------producto manolo perez
5--------------6--------producto manolo gimenez

...esto me trae los CatId: 3,6, y entonces:

xxxx0 (CatId=1, CatParentId=0) ->>>>>>>>>>>>NO SE MOSTRARÍA
------xxxx0-2 (CatId=3, CatParentId=1)
xxxx1 (CatId=6, CatParentId=0)


Y yo quiero mostrar xxxx0, dado que está relacionado con el producto, es la categoría "más" superior del producto.

Tienes alguna otra idea?

Muchas Gracias
__________________
ratamaster