Nos vemos de nuevo gnzsoloyo :D
Creo que no me he explicado bien o no te he entendido del todo. El problema es que no sólo tengo los campos TIPO y CLASE, son muchos más en realidad (he puesto dos por simplificar).
Imagínate un formulario donde hay 10 campos de tipo List/Menu. Cada uno de estos campos tiene 4 o 5 valores posibles, pero uno de estos valores es "TODOS". Así pues, esta podría ser la selección hecha por el usuario en el FORM:
TIPO=> tipo1 ($tipo)
CLASE=>TODOS ($clase)
MARCA=>TODOS ($marca)
...
COLOR=>blanco ($color)
Es decir, el usuario quiere seleccionar los objetos blancos de tipo1 de cualquier clase y marca.
Para ello lo trataría genéricamente con la siguiente consulta:
Código:
SELECT * FROM TABLA WHERE TIPO='$tipo'
AND CLASE='$clase' AND MARCA='$marca' AND ...
AND COLOR='$color';
Traduciendo el valor de las variables tras el envío de estas con POST desde el formulario, la consulta quedaría así:
Código:
SELECT * FROM TABLA WHERE TIPO='tipo1' AND CLASE='CUALQUIERA'
AND MARCA='CUALQUIERA' AND ...
AND COLOR='blanco';
En color rojo resalto cuál es mi duda: dado que la consulta es un string fijo (ya que lo que varían son las variables, valga la redundancia), a veces será TIPO, otras CLASE, otras MARCA y otras COLOR los campos que tengan el valor "cualquiera". ¿Qué debe valer pues, el "value" correspondiente a "TODOS" en el formulario para que se realice la consulta correctamente?
Espero haberme explicado mejor ahora, y si ya me habías entendido... mis más sinceras disculpas, pero en ese caso no te he entendido yo a ti :S
Edito: según lo que dices, ¿sería válido hacer esto?
Código:
SELECT * FROM TABLA WHERE TIPO='tipo1' AND CLASE IS NOT NULL
AND MARCA IS NOT NULL AND ...
AND COLOR='blanco';