Foros del Web » Programando para Internet » PHP »

sentencia IF dentro de una consulta

Estas en el tema de sentencia IF dentro de una consulta en el foro de PHP en Foros del Web. Quiero hacer una consulta, que en el caso de que el POST sea "TODOS" no haga caso a esa fila y muestre todos los valores. ...
  #1 (permalink)  
Antiguo 06/12/2013, 11:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
sentencia IF dentro de una consulta

Quiero hacer una consulta, que en el caso de que el POST sea "TODOS" no haga caso a esa fila y muestre todos los valores.

LA consulta esta echa así
Código PHP:
$query_busca "SELECT * FROM yo, galeria WHERE   referencia = refyo AND provincia ='".$_POST['provincia']."' AND localidad = '".$_POST['localidad']."'  AND operacion = '".$_POST['operacion']."' AND precio <= '".$_POST['precio']."' GROUP BY refvivienda"
Me gustaría que si el POST provincia enviara "TODAS" muestre todas las provincias.

Un saludo
  #2 (permalink)  
Antiguo 06/12/2013, 12:14
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: sentencia IF dentro de una consulta

Y porque no lo evaluas antes con un IF o un CASE y despues haces una llamada en caso de que provincia no sea todas y otra en caso de que provincia sea todas.
  #3 (permalink)  
Antiguo 06/12/2013, 12:15
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: sentencia IF dentro de una consulta

Es facil hacerlo mediante un if
Código PHP:
Ver original
  1. if($_POST['provincia'] == 'TODAS'){
  2.     // Aqui iria la query si $_POST = 'TODAS'
  3. }else{
  4.     $query_busca = "SELECT * FROM yo, galeria WHERE   referencia = refyo AND provincia ='".$_POST['provincia']."' AND localidad = '".$_POST['localidad']."'  AND operacion = '".$_POST['operacion']."' AND precio <= '".$_POST['precio']."' GROUP BY refvivienda";  
  5. }
Como no se la estructura de tu base de datos y la bola de cristal se me olvido no puedo decirte mas.
  #4 (permalink)  
Antiguo 06/12/2013, 12:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: sentencia IF dentro de una consulta

Perdona mi ignorancia, me podrias dar un ejemplo?
  #5 (permalink)  
Antiguo 06/12/2013, 12:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: sentencia IF dentro de una consulta

Pues en ese caso, simplemente no agregas las condiciones correspondientes. Es lo que se llama construcción dinamica de consultas:
Código PHP:
$query_busca "SELECT * FROM yo, galeria ";
$query_busca .= "WHERE   referencia = refyo ";
if(
$_POST['provincia']<> 'TODOS')
    {
$query_busca .= "AND provincia ='".$_POST['provincia']."' ";
    
$query_busca .= "AND localidad = '".$_POST['localidad']."'  ";
    }
$query_busca .= "AND operacion = '".$_POST['operacion']."' ";
$query_busca .= "AND precio <= '".$_POST['precio']."' ";
$query_busca .= "GROUP BY refvivienda"
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, sentencia
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 18:00.