Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2014, 10:59
pepu
 
Fecha de Ingreso: junio-2005
Mensajes: 69
Antigüedad: 18 años, 10 meses
Puntos: 0
buscador con filtro desde diferentes tablas

Estoy intentando realizar una web con un panel de administración.
En la web se ven listados los productos y a través de un formulario con filtros en base a categorías, grupos o marcas

No logro realizar este buscador ya que la selección de los filtros viene de otra tabla que no es la de los productos

No se si lo planifico bien.
Cada producto puede pertenecer a diferentes grupos (hombre, mujer, niño) y a diferentes categorías (pantalones, zapatos...) y a diferentes marcas (marca1...)
Estos grupos, categorías y marcas son ampliables (no son fijos)
En este sentido creo una tabla para productos, una para los filtros (que tienen un campo llamado "tipo" para determinar si es categorías, grupo o marca) y una tabla para las relaciones entre filtros y productos (los relaciono a traves del campo hcodigo de la tabla productos y hcodigo_prod de la tabla filtro_rel)

Necesito orientación a la hora de crear un buscador con casillas de verificación con las diferentes categorías, grupos y marcas y según se activen unos u otros muestre una pagina de resultados.

Código:
#
# Structure for table "productos"
#

CREATE TABLE `productos` (
  `id` int(4) unsigned NOT NULL DEFAULT '1',
  `hcodigo` varchar(15) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `hnombre` varchar(250) COLLATE utf8_spanish_ci DEFAULT NULL,
  `huso` varchar(250) COLLATE utf8_spanish_ci DEFAULT NULL,
  PRIMARY KEY (`hcodigo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

#
# Structure for table "filtros"
#

CREATE TABLE `filtros` (
  `Id_filtro` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(255) COLLATE utf8_spanish_ci DEFAULT NULL,
  `tipo` varchar(255) COLLATE utf8_spanish_ci DEFAULT NULL,
  PRIMARY KEY (`Id_filtro`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

#
# Structure for table "filtro_rel"
#

CREATE TABLE `filtro_rel` (
  `Idfrel` int(11) NOT NULL AUTO_INCREMENT,
  `hcodigo_prod` varchar(255) COLLATE utf8_spanish_ci DEFAULT NULL,
  `Ide_filtro` varchar(255) COLLATE utf8_spanish_ci DEFAULT NULL,
  `activ` int(2) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Idfrel`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;