El primer caso: function getProductDetail($pdId, $catId)
SELECT * FROM tbl_product
INNER JOIN tbl_category
ON tbl_product.cat_id = tbl_category.cat_id
WHERE
tbl_product.pd_id = $pdId
en este caso nos dará el producto identificado por la variable $pdId. Totdos los campos de la tabla producto y todos los de categoria.
La funcion recibe como parametro otra variable ($catId) pero no la usa para nada?
La funcion a parte de mostrar la imagen del producto parece que agrega el producto a un carro de compra....
por tanto esto no tiene nada que ver con categorias.
Segundo caso:productlist.php
No tenemos function por tanto no se que parametros usará pero anlicemos el SQL
Código:
SELECT pd_id, pd_auteur,
pd_titre, pd_editeur,
cat_name, pd_isbn,
pd_descriptif, pd_price,
pd_etat, pd_thumbnail,
pd_qty, c.cat_id, c.cat_name
FROM tbl_product pd, tbl_category c
WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children
ORDER BY pd_titre ASC
Supongo que los campos que no tienen alias vienen de productos y los del alias c obvimente vinen de category
Esto nos da una lista ordenada por titulo de los libros cuyo primer identificador de categoria
esta en $children
Bingo !! $children ha de tener la siguiente forma (cat_X,cat_Y,cat_Z,...) por tanto nos dara la lista de productos de un grupo de categorias, pero solo mirando el primer identificador ...
$children = ' (' . implode(', ', $children) . ')';
correcto tiene la forma que tiene que tener!!!
Cita: Como lo puedo poner para que quando un usuario en la web elija una categoria, salgan todos los resultados de esa categoria. No se si es donde lo tengo mal pero yo guardo las categorias de los productos en la tbl_product como cat_id, cat_id2 y cat_id3.
Si la realción de producto/categoria es n a n luego
SI ESTA MAL
Si los productos pueden tener una, dos o tres categorias, o lo que es lo mismo como maximo tres categrias, no seria un gran diseño pero podria funcionar.
Cita: Por ejemplo, tengo un livro X con las categorias A, B y C, la A es cat_id, la B es cat_id2 y la C es cat_id3.
Luego cat_id='A' , cat_id2='B' y cat_id3='C' si?
Cita: Si voy a la categoria A esta el livro X bien, pero si lo busco en las categorias B o C, no me aparece.
Tu mismo te responderas... Como vas a la categoria A?
where cat_id='A' ---> funciona!!!!
where cat_id='B'----> no funciona
where cat_id='C'----> no funciona
recuerda lo que has dicho cat_id='A' , cat_id2='B' y cat_id3='C'
Por lo que yo se si cat_id='A' es imposible que al mismo tiempo sea B o C
Intenta a ver si
where cat_id2='B'----> funciona?
where cat_id3='C'----> funciona?
Suerte....
Quim