Resulta que preparé para una inmobiliaria un sitio con un buscador de distintos campos entonces hice esto
Código:
Y anda increíble.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]' or '$_REQUEST[operacion]' ='') and (id_zona = '$_REQUEST[id_zona]' or '$_REQUEST[id_zona]' ='') and (id_tipo = '$_REQUEST[id_tipo]' or '$_REQUEST[id_tipo]' ='') and (ambientes = '$_REQUEST[ambientes]' or '$_REQUEST[ambientes]' ='') or (codigo = '$_REQUEST[codigo]')
Ahora me pidieron que agregara una búsqueda por precio e hice esto...
[CODE]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]' or '$_REQUEST[operacion]' ='')
and (id_zona = '$_REQUEST[id_zona]' or '$_REQUEST[id_zona]' ='')
and (id_tipo = '$_REQUEST[id_tipo]' or '$_REQUEST[id_tipo]' ='')
and (ambientes = '$_REQUEST[ambientes]' or '$_REQUEST[ambientes]' ='')
and (precio <= '$_REQUEST[precio]' or '$_REQUEST[precio]' ='')
or (codigo = '$_REQUEST[codigo]')[/CODE
Pero no sirve y no se porque...será que pusieron los precios con punto?
Ej: 150.000
Otro problema que tengo es la moneda ya que tienen algunos precios en dólares y otros en pesos y se me ocurrió...
Código:
Y nada... 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]' or '$_REQUEST[operacion]' ='') and (id_zona = '$_REQUEST[id_zona]' or '$_REQUEST[id_zona]' ='') and (id_tipo = '$_REQUEST[id_tipo]' or '$_REQUEST[id_tipo]' ='') and (ambientes = '$_REQUEST[ambientes]' or '$_REQUEST[ambientes]' ='') and (precio <= '$_REQUEST[precio]' or '$_REQUEST[precio]' ='') if('$_REQUEST[precio]' ='',pecio='',moneda='$_REQUEST[moneda]') or (codigo = '$_REQUEST[codigo]')
Alguien se dá cuenta donde puede estar el problema y como lo puedo resolver?
Nuevamente infinitas gracias por tomarse la molestia de leer y ayudarme con mis matetes