Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2013, 02:11
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ¿Como mejoro esta consulta?

Verás, elegir todos es un campo es no establecer filtro. Me explicaré con algunos de tus ejemplos:
1) -- si color_prenda = todos AND size = todas
Código MySQL:
Ver original
  1. SELECT * FROM articulos WHERE color = "todos" AND size = "todas"
esto equivale a
Código MySQL:
Ver original
  1. SELECT * FROM articulos

2)
Código MySQL:
Ver original
  1. SELECT * FROM articulos WHERE color = "todos" AND size = size_prenda

y esto equivale a
Código MySQL:
Ver original
  1. SELECT * FROM articulos WHERE size = size_prenda

Observa que cuando el valor que pasas por la variable es "todos" o "todas", simplemente no tienes que filtrar por ese campo

Así de fácil. Prueba y nos dices. Luego hay que controlar cuando todos tienen "todos" se puede usar las sintaxis del filtro así:
WHERE 1

Para el modo de hacerlo, puedes pedir ayuda en el foro de programación, pues aquí solo podemos darte respuestas de bases de datos y de lenguaje de consulta SQL. No olvides que la cadena de consulta, la sintaxis de la consulta debes hacerla con programación según los datos que te llegan del formulario.

Última edición por jurena; 13/08/2013 a las 02:18