Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Buscador propiedades

Estas en el tema de Buscador propiedades en el foro de Mysql en Foros del Web. Hola tengo una pagina de bienes raices que tiene un buscador es asi su codigo <form id="form1" name="form1" method="post" action="buscar.php"> <div id="spryradio1"> <label> <input name="tipo" ...
  #1 (permalink)  
Antiguo 08/05/2011, 13:40
 
Fecha de Ingreso: abril-2011
Ubicación: Auckland
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Buscador propiedades

Hola tengo una pagina de bienes raices que tiene un buscador es asi su codigo
<form id="form1" name="form1" method="post" action="buscar.php">
<div id="spryradio1">
<label>
<input name="tipo" type="radio" id="tipo" value="venta" checked="checked" />
Compra</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<label>
<input type="radio" name="tipo" value="renta" id="tipo" />
Renta</label>
</div>
<span id="spryselect1">
<br></br><label for="zona"></label>
<select name="zona" id="zona">
<option value="jurica">Jurica</option>
<option value="juriquilla" selected="selected">Juriquilla</option>
<option value="el refugio">El refugio</option>
<option value="otras">Otras</option>
<option value="Cumbres del Lago">Cumbres del Lago</option>
<option value="Juriquilla Santa Fe">Juriquilla Santa Fe</option>
<option value="Juriquilla Punta ">Juriquilla Punta </option>
<option value="Juriquilla San Francisco">Juriquilla San Francisco</option>
<option value="Juriquilla Misiones">Juriquilla Misiones</option>
<option value="Juriquilla Toliman">Juriquilla Toliman</option>
<option value="Juriquilla Villas del Meson">Juriquilla Villas del Meson</option>
<option value="Juriquilla Real de ">Juriquilla Real de </option>
</select>
Elige Zona</span>
<p><span id="spryselect2">
<label for="propiedad"><br />
Elige tipo propiedad</label>
<select name="propiedad" id="propiedad">
<option value="todos" selected="selected">Todos</option>
<option value="casa">Casa</option>
<option value="Terreno">Terreno</option>
<option value="local">Local</option>
<option value="otros">Otros</option>
</select>
</span></p>
<p>Precio Min<span id="spryselect3">
<label for="precio"></label>
<select name="precios" id="precios">
<option value="250,000" selected="selected">250,000</option>
<option value="500,000">500,000</option>
<option value="750,000">750,000</option>
<option value="1,000,000">1,000,000</option>
<option value="1,250,000">1,250,000</option>
<option value="1,500,000">1,500,000</option>
<option value="1,750,000">1,750,000</option>
<option value="2,000,000">2,000,000</option>
<option value="2,250,000">2,250,000</option>
<option value="2,500,000">2,500,000</option>
<option value="2,750,000">2,750,000</option>
<option value="3,000,000">3,000,000</option>
<option value="3,250,000">3,250,000</option>
<option value="3,500,000">3,500,000</option>
<option value="3,750,000">3,750,000</option>
<option value="4,000,000">4,000,000</option>
<option value="4,250,000">4,250,000</option>
<option value="4,500,000">4,500,000</option>
<option value="4,750,000">4,750,000</option>
<option value="5,000,000">5,000,000</option>
<option value="5,250,000">5,250,000</option>
<option value="5,500,000">5,500,000</option>
<option value="5,750,000">5,750,000</option>
<option value="6,000,000">6,000,000</option>
<option value="6,250,000">6,250,000</option>
<option value="6,500,000">6,500,000</option>
<option value="6,750,000">6,750,000</option>
<option value="7,000,000">7,000,000</option>
<option value="7,250,000">7,250,000</option>
<option value="7,500,000">7,500,000</option>
<option value="7,750,000">7,750,000</option>
<option value="8,000,000">8,000,000</option>
<option value="8,250,000">8,250,000</option>
<option value="8,500,000">8,500,000</option>
<option value="8,750,000">8,750,000</option>
<option value="9,000,000">9,000,000</option>
<option value="9,250,000">9,250,000</option>
<option value="9,500,000">9,500,000</option>
<option value="9,750,000">9,750,000</option>
<option value="10,000,000">10,000,000</option>
<option value="10,250,000">10,250,000</option>
<option value="10,500,000">10,500,000</option>
<option value="10,750,000">10,750,000</option>
<option value="11,000,000">11,000,000</option>
<option value="11,250,000">11,250,000</option>
<option value="11,500,000">11,500,000</option>
<option value="11,750,000">11,750,000</option>
<option value="12,000,000">12,000,000</option>
<option value="13,000,000">13,000,000</option>
<option value="14,000,000">14,000,000</option>
<option value="15,000,000">15,000,000</option>
<option value="16,000,000">16,000,000</option>
<option value="17,000,000">17,000,000</option>
<option value="18,000,000">18,000,000</option>
<option value="19,000,000">19,000,000</option>
<option value="20,000,000">20,000,000</option>
<option value="21,000,000">21,000,000</option>
<option value="22,000,000">22,000,000</option>
<option value="23,000,000">23,000,000</option>
<option value="24,000,000">24,000,000</option>
<option value="25,000,000">25,000,000</option>
<option value="26,000,000 Mas ">26,000,000 Mas </option>
</select>
</span></p>
<p>Precio Máx<span id="spryselect4">
<label for="precio_"></label>
<select name="precioss" id="precioss">
<option value="250,000">250,000</option>
<option value="500,000" selected="selected">500,000</option>
<option value="750,000">750,000</option>
<option value="1,000,000">1,000,000</option>
<option value="1,250,000">1,250,000</option>
<option value="1,500,000">1,500,000</option>
<option value="1,750,000">1,750,000</option>
<option value="2,000,000">2,000,000</option>
<option value="2,250,000">2,250,000</option>
<option value="2,500,000">2,500,000</option>
<option value="2,750,000">2,750,000</option>
<option value="3,000,000">3,000,000</option>
<option value="3,250,000">3,250,000</option>
<option value="3,500,000">3,500,000</option>
<option value="3,750,000">3,750,000</option>
<option value="4,000,000">4,000,000</option>
<option value="4,250,000">4,250,000</option>
<option value="4,500,000">4,500,000</option>
<option value="4,750,000">4,750,000</option>
<option value="5,000,000">5,000,000</option>
<option value="5,250,000">5,250,000</option>
<option value="5,500,000">5,500,000</option>
<option value="5,750,000">5,750,000</option>
<option value="6,000,000">6,000,000</option>
<option value="6,250,000">6,250,000</option>
<option value="6,500,000">6,500,000</option>
<option value="6,750,000">6,750,000</option>
<option value="7,000,000">7,000,000</option>
<option value="7,250,000">7,250,000</option>
<option value="7,500,000">7,500,000</option>
<option value="7,750,000">7,750,000</option>
<option value="8,000,000">8,000,000</option>
<option value="8,250,000">8,250,000</option>
<option value="8,500,000">8,500,000</option>
<option value="8,750,000">8,750,000</option>
<option value="9,000,000">9,000,000</option>
<option value="9,250,000">9,250,000</option>
<option value="9,500,000">9,500,000</option>
<option value="9,750,000">9,750,000</option>
<option value="10,000,000">10,000,000</option>
<option value="10,250,000">10,250,000</option>
<option value="10,500,000">10,500,000</option>
<option value="10,750,000">10,750,000</option>
<option value="11,000,000">11,000,000</option>
<option value="11,250,000">11,250,000</option>
<option value="11,500,000">11,500,000</option>
<option value="11,750,000">11,750,000</option>
<option value="12,000,000">12,000,000</option>
<option value="13,000,000">13,000,000</option>
<option value="14,000,000">14,000,000</option>
<option value="15,000,000">15,000,000</option>
<option value="16,000,000">16,000,000</option>
<option value="17,000,000">17,000,000</option>
<option value="18,000,000">18,000,000</option>
<option value="19,000,000">19,000,000</option>
<option value="20,000,000">20,000,000</option>
<option value="21,000,000">21,000,000</option>
<option value="22,000,000">22,000,000</option>
<option value="23,000,000">23,000,000</option>
<option value="24,000,000">24,000,000</option>
<option value="25,000,000">25,000,000</option>
<option value="26,000,000 Mas ">26,000,000 Mas </option>
</select>
</span></p>
<p>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
<input type="reset" name="restablecer" id="restablecer" value="Restablecer" />
</p>
</form>
se envia tal informacion a buscar.php

y en buscar.php
tengo una busqueda en la base datos
SELECT *
FROM propiedades
WHERE propiedades.tipo LIKE %coltipo% AND propiedades.zona LIKE %colzona% AND propiedades.propiedad LIKE %colpropiedad% AND propiedades.precio BETWEEN %colmin% AND %colmax%
ORDER BY propiedades.zona ASC




propiedades.precio es un campo que almacena el precio de la propiedad
colmin y colmax son unas variables que recuperan el texto seleccionado del primer formulario precio minimo y maximo
como hago para que busquen propiedades con el precio soy nuevo aqui gracias
  #2 (permalink)  
Antiguo 09/05/2011, 09:31
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Buscador propiedades

Hola dddavid450:

Creo que el problema está en con las comas en las cifras, ¿de qué tipo de datos es tu campo propiedades.precio? si es de tipo numérico entonces las condiciones deberían quedar así:

Código:
where 
propiedades.precio between 1000000 and 2000000
de la manera en que tienes los datos tu consulta quedaría así:

Código:
where 
propiedades.precio between 1,000,000 and 2,000,000
Lo cual es un error.

Aquí hay dos posibles soluciones que veo, una es que desde el formulario cambies tus etiquetas <OPTIONS> por algo como esto:

Código:
<option value="1000000">1,000,000</option>
Es decir, la parte que ve el usuario sigue apareciendo con formato de moneda, pero internamente lo maneja como un número. La otra solución es que elimines las comas antes de incluirlas en tu sentencia SQL

Ahora bien, algunas otras recomendaciones:

1. Evita en la medida de lo posible hacer comparaciones LIKE y utiliza mejor comparaciones (=), ya que puede afectar el rendimiento de tu BD.
2. Evita en la medida de lo posible hacer select *, por lo general nunca utilizas todos los campos de tu tabla, así es que es mejor que listes cada uno de los campos que realmente necesitas en tu página.
3. En cuanto a tus mensajes en el foro, evita en la medida de lo posible mezclar lenguajes de programación. El foro trata sobre MySQL, por lo que no es conveniente incluir código PHP. Hay personas (como yo) que no tienen conocimiento de este lenguaje de programación, pero que sabemos algo de MySQL, por lo que es conveniente que en tus post trates de manejar sólo código SQL, o en su defecto utilices el foro dedicado para PHP.

http://www.forosdelweb.com/f18/

4. Trata de que tus post no sean muy extensos. por el contrario, procura que sean lo más precisos posibles. En tu caso por ejemplo pones más de 170 líneas de código y el planteamiento de tu problema ocupa 3 líneas. Ojo con eso.

Saludos y espero que te pueda servir de ayuda lo que te pongo.
Leo
  #3 (permalink)  
Antiguo 09/05/2011, 16:01
 
Fecha de Ingreso: abril-2011
Ubicación: Auckland
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Buscador propiedades

el tipo propiedades.precio dato es int
  #4 (permalink)  
Antiguo 10/05/2011, 07:53
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Buscador propiedades

Wow... primero te tomas el tiempo para copiar 170 lineas de código y en tu segundo post apenas completas 7 palabras... increíble. En el post te mencionaba que si tu campo es de tipo numérico el problema puede venir con las comas, sin embargo no mencionas si hiciste alguna prueba y se solucionó el problema o si el problema persiste. En fin, espero que pronto encuentres la solución.

Leo.

Etiquetas: propiedadesd, buscadores
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 22:12.