Foros del Web » Programando para Internet » PHP »

Consulta valores vacios

Estas en el tema de Consulta valores vacios en el foro de PHP en Foros del Web. Hola a todos, intentaré ser breve: Tengo un formulario con 3 combobox, el usuario PUEDE o NO elegir valores en los 3 combos, es decir ...
  #1 (permalink)  
Antiguo 04/05/2005, 13:53
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 13 años, 8 meses
Puntos: 28
Consulta valores vacios

Hola a todos, intentaré ser breve:

Tengo un formulario con 3 combobox, el usuario PUEDE o NO elegir valores en los 3 combos, es decir que se podrían quedar sin valor. Luego a la hora de hacer la consulta de busqueda junto con los valores enviados por el usuario esa consulta podría tener valores vacios en la clausula WHERE* por lo que la consulta no funcionaría. que puedo hacer?

*Ejemplo: $consulta=sprintf("SELECT color,altura,peso FROM vehiculos
WHERE color='rojo',altura='',peso='' ");

como veis altura y peso se quedarían vacios.


Gracias de antemano
  #2 (permalink)  
Antiguo 04/05/2005, 14:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Tenes que ir armando el sql en base a lo que recibas. No se muy bien como estas manejando el formualrio, pero la idea es la siquiente:
#Sql base.
$sql = "SELECT color,altura,peso FROM vehiculos WHERE (1=1) ";

if($laVariable===1){
$sql .= " and color = 'loquesea' ";
}

Y como estas condiciones podes hacer las que necesites, y lo mismo si es un vector, lo que harías es un is_array, y un foreach, validar dentro del foreach el valor de la posicion y armar el pedazo de sql.

Espero que la idea se haya entendido.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 04/05/2005, 14:23
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
queria aclarar que podes hacer también esto directo de sql, algo asi:
$default = 0;
$variable = isset($_GET["loquesea"]? $_GET["loquesea"] : $default ;
$sql = "SELECT color,altura,peso FROM vehiculos WHERE (pelo = '".$variable."' or variable = '".$default."') ";
__________________
Mi punto de partida es Que Bueno Lo Nuevo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.