Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/11/2003, 09:18
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

En primer lugar, esa SQL que has puesto esta mal. Te falta el WHERE y las condiciones se deben separar por AND (o OR o el que corresponda).

Segundo, lo que puedes hacer es solo crear las condiciones necesarias. Algo asi:
Código PHP:
$condicion='';
if (
'Cualquiera'!=$Q_fruta) {
  
$condicion .="fruta = '$Q_Fruta'";
}
if (
'Cualquiera'!=$Q_Color) {
  if (
''!=$condicion$condicion .=' AND ';
  
$condicion .="color = '$Q_Color'";
}
if (
'Cualquiera'!=$olor) {
  if (
''!=$condicion$condicion .=' AND ';
  
$condicion .="olor = '$olor'";
}
$Query "SELECT * from $TableName ";
if (
''!=$condicion$Query .=' WHERE '.$condicion;
echo 
$query
Y por ultimo, si son campos de texto (como parece), la cadena que sustituye a cualquier cadena es el comodin '%'. Pero creo recordar que funciona para LIKE, no para el =.

Yo prefiero la solucion de solo crear las condiciones absolutamente necesarias.

Saludos.

PD: Las preguntas de SQL, mejor en el foro de base de datos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.