Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2011, 02:23
Avatar de SaveSolutions
SaveSolutions
 
Fecha de Ingreso: agosto-2009
Ubicación: El Salvador
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 0
Crear funcion para obtener grupos de productos

Hola, estoy queriendo hacer una funcion en php y realmente no se como hacerla. Me explico:

Le he llamado getProductsbyParent, se trata de ingresarle una category_id ($id) de unas tablas de MySQL, tengo dos tablas, una que se llama categories_taxonomy y otra que se llama products.

Aclaro que la nomenclatura que utilizo es solo para describir la lógica que entiendo de lo que necesito, no es el codigo de la programacion. Disculpas por las molestias.

function getProductsbyParent($id)
$id -> voy a meterle un category_id

category_id hara la comprobacion de si es parent o child en la siguiente tabla:

categories_taxonomy
category_id, parent
14, 0
15, 14
16, 0
17, 16
18, 16
19, 16
20, 0
21, 14
22, 16

Notese que si parent = 0 implica que es una categoria parent
Si parent es diferente de 0 implica que es un categoria child

Por ejemplo, para categoria 16 (parent) deseo obtener un arreglo que incluya su propio category_id
suponiendo que $id =16 -> quiero obtener los hijos [16, 17, 18, 19, 22] -> $childs (16 es parent)

si $id = NULL (porque no encontraria, digamos 17, en la columna parent) entonces si no se encuentra -> $id debera ser su mismo category_id, en este caso 17 (no es parent) -> $childs

Osea que necesito que me lo guarde como una variable que he llamado $childs.

Ahora, ese $childs que obtengo lo usaré para que me devuelva una lista de productos, los que correspondan a esas $childs, entiendo que es como un filtro pues, que hace con la tabla products

products
id category_id
1, 14
2, 14
3, 15
4, 16
5, 12
6, 16
7, 18
8, 19
9, 17
10, 22

11, 8
12, 11
13, 20
14, 20
15, 8

obtendria los productos de un parent (16)

products
id category_id
4, 16
6, 16
7, 18
8, 19
9, 17
10, 22

obtendria los productos de un child (17)

products
id category_id
9, 17

Espero que puedan ayudarme ya que leo y leo y no sé como hacerlo. Saludos.