Foros del Web » Programando para Internet » PHP »

Formulario con valor vacio

Estas en el tema de Formulario con valor vacio en el foro de PHP en Foros del Web. Hola tengo el siguiente problema y quisiera saber si alguien puede orientarme. Tengo un formulario de búsqueda para una inmobiliaria para pedir una propiedad por... ...
  #1 (permalink)  
Antiguo 28/04/2008, 13:49
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Formulario con valor vacio

Hola tengo el siguiente problema y quisiera saber si alguien puede orientarme.
Tengo un formulario de búsqueda para una inmobiliaria para pedir una propiedad por...

tipo de operacion
zona
cantidad de ambientes
tipo de propiedad

entonces levanto la info con...

Código PHP:
$registros=mysql_query("select * from propiedades as p 
join zona as z on z.id_z=p.id_zona
join tipo as t on t.id_t=p.id_tipo 
where (operacion = '$_REQUEST[operacion]')  
and (id_zona = '$_REQUEST[id_zona]') 
and (id_tipo = '$_REQUEST[id_tipo]') 
and (ambientes = '$_REQUEST[ambientes]') 
or (codigo = '$_REQUEST[codigo]')
order by codigo desc"
,$conexion) or die("Problemas en el select:".mysql_error());
while (
$reg=mysql_fetch_array($registros)) 
Hasta aquí todo mas que bien, el problema lo tengo cuando quiero pedir que por ejemplo me devuelva esta info...

tipo de operacion = "a todas las operaciones"
zona
cantidad de ambientes
tipo de propiedad

No se se si soy claro que quien busca una propiedades por ejemplo no quiera elegir la operación le da lo mismo compra, venta, alquiler....lo que sea se me había ocurrido usar "or" en vez de "and" pero no me sirve de nada ya que si selecciono una operación me trae esa y otras también... desde ya mil gracias como siempre y un abrazo a todos los foreros
  #2 (permalink)  
Antiguo 28/04/2008, 15:37
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Formulario con valor vacio

Puedes hacer:

If campo != vacio -> $consulta = "AND campo = contenido";

Y luego en tu consulta añadir simplemente "Select .... $consulta ....";
  #3 (permalink)  
Antiguo 02/05/2008, 12:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Formulario con valor vacio

Probé con algo así y nada...

Código PHP:
<?php

$operacion
=$_REQUEST['operacion'];
echo 
$operacion;

$registro=mysql_query("select * from propiedades as p 
join zona as z on z.id_z=p.id_zona
join tipo as t on t.id_t=p.id_tipo 
where (operacion = '$_REQUEST[operacion]')  
and (id_zona = '$_REQUEST[id_zona]') 
and (id_tipo = '$_REQUEST[id_tipo]') 
and (ambientes = '$_REQUEST[ambientes]') 
or (codigo = '$_REQUEST[codigo]')
order by codigo desc"
,$conexion) or die("Problemas en el select:".mysql_error());
while (
$reg=mysql_fetch_array($registro))

if(
$operacion=="0"){
{
     echo 
$reg['codigo'];
     echo 
$reg['tipo'];
     echo 
$reg['ambientes'];
     echo 
$reg['zona'];
     echo 
$reg['direccion']; 
     }
     }else{
     
     echo 
otra cosa?;
}

?>
perdón por la inexperiencia pero soy nuevo en esto de php Tardé mucho en responder porque me estuve rompiendo la cabeza para sacarlo solo leyendo artículos y manuales y nada...
  #4 (permalink)  
Antiguo 05/05/2008, 15:15
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Formulario con valor vacio

Esto funciona!!! pero me parece que es una burrada no?
porque tendría que hacer una query por cada combinacion de campo "0"

Código PHP:
<?php

$registros
=mysql_query("select * from propiedades as p 
join zona as z on z.id_z=p.id_zona
join tipo as t on t.id_t=p.id_tipo 
where (operacion = '$_REQUEST[operacion]')  
and (id_zona = '$_REQUEST[id_zona]') 
and (id_tipo = '$_REQUEST[id_tipo]') 
and (ambientes = '$_REQUEST[ambientes]') 
or (codigo = '$_REQUEST[codigo]')
order by codigo desc"
,$conexion) or die("Problemas en el select:".mysql_error());

$todas=mysql_query("select * from propiedades as p 
join zona as z on z.id_z=p.id_zona
join tipo as t on t.id_t=p.id_tipo 
where (id_zona = '$_REQUEST[id_zona]') 
and (id_tipo = '$_REQUEST[id_tipo]') 
and (ambientes = '$_REQUEST[ambientes]') 
or (codigo = '$_REQUEST[codigo]')
order by codigo desc"
,$conexion) or die("Problemas en el select:".mysql_error());


if(
$operacion==0){

while (
$reg=mysql_fetch_array($todas)){
     
     echo 
$reg['operacion'].' - ';
     echo 
$reg['tipo'].' - ';
     echo 
$reg['ambientes'].' amb.';<br />
     echo 
$reg['zona'];<br />

}

}else{


while (
$reg=mysql_fetch_array($registros)){

     echo 
$reg['operacion'].' - ';
     echo 
$reg['tipo'].' - ';
     echo 
$reg['ambientes'].' amb.';<br />
     echo 
$reg['zona'];<br />

}

}
?>

Última edición por Claugtrs; 05/05/2008 a las 15:50
  #5 (permalink)  
Antiguo 07/05/2008, 12:21
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Formulario con valor vacio

Lo descubri!!! Era muy simple!!!!!

Código PHP:
where (operacion '$_REQUEST[operacion]' or '$_REQUEST[operacion]'=''
Gracias a todos los que colaboraron!!!
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 02:52.