Foros del Web » Programando para Internet » PHP »

FIN Buscador Avanzado Inmobiliaria

Estas en el tema de FIN Buscador Avanzado Inmobiliaria en el foro de PHP en Foros del Web. Buenas mis estimados. Recurro a la comunidad para ver si entre todos podemos terminar este ultimo paso finalizando asi el buscador avanzado. La historia es ...
  #1 (permalink)  
Antiguo 26/08/2010, 15:48
 
Fecha de Ingreso: abril-2010
Mensajes: 87
Antigüedad: 14 años, 7 meses
Puntos: 1
Exclamación FIN Buscador Avanzado Inmobiliaria

Buenas mis estimados. Recurro a la comunidad para ver si entre todos podemos terminar este ultimo paso finalizando asi el buscador avanzado. La historia es asi:

BD:
ID_Prueba int(11)
Nombre varchar(100)
Apellidos varchar(100)
Titulo varchar(100)
Mtscuadrados int(11)
Banos int(11)
Habitaciones int(11)
idCiudad int(11)
precioVenta int(11)
precioRenta int(11)
tipoInmueble varchar(255)
Descripcion varchar(255)
fechaIng date
imagen blob BINARY

FORM:
Código PHP:
<form name="form1" method="post" action="buq2.php">
    <label>Buscar:
    <input type="text" name="txtBusqueda" id="txtBusqueda">
    Ciudad:
    <select name="selCiudad" id="selCiudad">
        <option value="-1" selected>Todas</option>
<?php
    $tablaciudades 
mysql_query("SELECT * FROM ciudades ORDER BY nombre DESC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
        <option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option>
<?php
    
// termina la zona de repeticion
    
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>
    </select>
    Ambientes: 
<select name="selAmbientes" id="selAmbientes"> 
<option value="-1" selected>Todos</option>
<?php //seleccion de ambientes
for($i=1;$i<=10;$i++) {
?>
<option value="<?php echo $i;?>"><?php echo $i?></option>
<?php
}
?>
</select>
</select>  
Precio Venta:  
<select name="precio">  
<option value="">Mostrar Todos</option>  
<option value="10000-20000">$10000 a $20000</option>  
<option value="20000-30000">$20000 a $30000</option>  
</select>  
    </label>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">
</form>
Buscador:
Código PHP:
<?php //Esto es lo que devuelve segun los datos de la tabla de arriba
$sql "SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id ";
if (isset(
$_POST['txtBusqueda'])) {
    
$sql .= " AND prueba.titulo LIKE '%" $_POST['txtBusqueda'] . "%' ";
    if (
intval($_POST['selCiudad']) > 0) {
        
$sql .= " AND prueba.idciudad = '" intval($_POST['selCiudad']) . "'";
    }
    if (
intval($_POST['selAmbientes']) > 0) {
$sql .= " AND Habitaciones = '" intval($_POST['selAmbientes']) . "'";
}
    if (
intval($_POST['precio']) > 0) {
$precio=$_POST['precio']; # ya esta el nombre asociado   
$ed=explode("-",$precio); #esto te crea un array con la separacion del rango     
$precio1=$ed[0]; #obtienes el primer parametro del rango   
$precio2=$ed[1];  #obtienes el segundo parametro del rango   
$query=mysql_query("SELECT precioVenta FROM prueba WHERE precio BETWEEN '$precio1' and '$precio2'") or die (mysql_error());  
}
}
$sql .= " ORDER BY ciudades.nombre ASC";
$tabla mysql_query($sql);
while (
$registro mysql_fetch_array($tabla)) {
?>
La cuestion es que si realizo la busqueda con los 3 primeros parametros a la vez (el like, ciudad y ambientes)sin activar la cuarta opcion (precio) la consulta se realiza satisfactoriamente. Ahora, incluyo en la busqueda esta ultima (la 4º opcion, o sea, todas las opciones a la vez) y el resultado es nulo (no trae absolutamente nada).
Agradezco de antemano ayudas, orientacion, comentarios y toda critica constructiva..
Desde ya, saludos!!!
Leonidas

PD: la variable precio corresponde al campo precioVenta de la BD
Abrazo
  #2 (permalink)  
Antiguo 26/08/2010, 19:59
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años, 7 meses
Puntos: 14
Respuesta: FIN Buscador Avanzado Inmobiliaria

Pues si no te trae ningún resultado, creo que el problema es o no haces bien la consulta SQL o no tienes un buen diseño de BD. Prueba primero hacer la consulta en consola. Por último, a manera personal, creo que la forma de construir la consulta en el código PHP no es la adecuada, deberías mejorarla un poco, y no dejarla tan compleja para nosotros ni para ti, reitero, a título personal.
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #3 (permalink)  
Antiguo 27/08/2010, 10:28
 
Fecha de Ingreso: abril-2010
Mensajes: 87
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: FIN Buscador Avanzado Inmobiliaria

Te agradezco tu opinion y te la agradezco. La cuestion que estoy haciendo esta busqueda para la inmobiliaria no siendo mi especialidad la programacion mi especialidad, dado que soy ing industrial. Por eso solicitaba una ayuda a la comunidad
Gracias!!
  #4 (permalink)  
Antiguo 27/08/2010, 11:44
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: FIN Buscador Avanzado Inmobiliaria

como te lo recomendaron antes.... primero antes de programar en php, realiza pruebas de tus querys en todos los casos, si todas tus consultas te muestra lo que quieres, el resto es pasar al php y sólo concatenar tus parámetros a tu consulta ya hecha.
__________________
Quitenme la vida pero no la bebida.
  #5 (permalink)  
Antiguo 27/08/2010, 15:30
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: FIN Buscador Avanzado Inmobiliaria

bueno como ya te indicaron has la prueba para ver si te trae datos con todos los parametros en tu consola, si esta te trae todos los datos entonces haria un echo a la variable $sql antes de hacer el mysql_query paraverificar si la variable donde vas llenando la sentencia sql la realiza completa ya que nombraste 4 parametros y yo noc si alguien me corrija veo solo tres parametros que concatenas y luego indicas el order by has estas pequeñas pruebas q te hemos sugerido y nos dices que sucedio suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 27/08/2010, 17:52
 
Fecha de Ingreso: abril-2010
Mensajes: 87
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: FIN Buscador Avanzado Inmobiliaria

Carlos, gracias por responder y disculpa la molestia.
Ok, hago las pruebas. Y tenes razon, la busqueda por precio no esta concatenada.
Ya posteare con los resultados...
Gracias

Etiquetas: inmobiliaria, 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 04:23.