Foros del Web » Programando para Internet » PHP »

select

Estas en el tema de select en el foro de PHP en Foros del Web. Hola, que tal. Tengo que hacer el buscador para una inmobiliaria. El codigo HTML es éste: Código HTML: <form action= "http://localhost/buscar.php" method= "post" > <p ...
  #1 (permalink)  
Antiguo 07/01/2013, 21:40
 
Fecha de Ingreso: mayo-2012
Ubicación: En la Tierra
Mensajes: 41
Antigüedad: 11 años, 11 meses
Puntos: 3
select

Hola, que tal.

Tengo que hacer el buscador para una inmobiliaria. El codigo HTML es éste:

Código HTML:
<form action="http://localhost/buscar.php" method="post">
<p class="look" >Busqueda<p/>
<p>
<label for="TipoInmueble" >Tipo de inmueble:</label>
<select name="TipoInmueble" id="TipoInmueble">
<option value="1">Casa</option>
<option value="2">Departamentos</option>
<option value="3">Oficinas</option>
<option value="4">Locales</option>
<option value="5">Terrenos</option>
<option value="6">Ranchos</option>
<option value="7">Bodegas</option>
<option value="8">Edificios</option>
</select>
</p>
<p>
<label for="Operacion">Operaci&oacute;n:</label>
<select name="Operacion" id="Operacion">
<option value="0">Todos</option>
<option value="1">Renta</option>
<option value="2">Venta</option>
</select>
</p>
<p>
<label for="NoRecamaras">No. Rec&aacute;maras:</label>
<select name="NoRecamaras" id="NoRecamaras">
<option value="0">Todos</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="999">5+</option>
</select>
</p>
<p>
<label for="Presupuesto">Presupuesto:</label>
<input type="text" name="Presupuesto" id="Presupuesto" value="" />
<label for="Clave">Clave:</label>
<input type="text" name="Clave" id="Clave" value="" />
<input type="submit" name="Submit" value="Buscar" class="buttonSubmit" />
</p>
</form> 
He pensado construir una base de datos con 8 tablas (casa, departamentos, oficinas, locales, terrenos, ranchos, bodegas, edificios).

He pensando que el uso de if para el funcionamiento del buscador dentro de la función mysql_query me puede funcionar, ¿es posible esto? y si es posible ¿como formulo la pregunta para cada caso (tipo de inmueble, operacion, No. de recamaras, presupuesto y clave ) ?

Salu2.
  #2 (permalink)  
Antiguo 10/01/2013, 13:12
Avatar de jordirmz  
Fecha de Ingreso: enero-2013
Ubicación: Catalunya
Mensajes: 14
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: select

Hola!

Creo que no te hace falta crear 8 tablas diferentes. En mi opinión, es mejor poner todas las viviendas en una sola tabla y realizar la consulta desde allí aunque no se si esto afectaría mucho al tiempo de carga.

La tabla podría contener los campos que quieras buscar. Este seria el ejemplo para dos de los campos que tienes tu (los otros simplemente es alargar el código):

Creas una tabla(inmuebles) con TipoInmueble y Operacion.

La consulta sería:
Código PHP:
Ver original
  1. $consulta="SELECT * FROM inmuebles WHERE TipoInmueble LIKE '%".$_POST['TipoInmueble']."%' AND Operacion LIKE '%".$_POST['Operacion']."%'";
  2. $query=mysql_query($consulta);

Una vez echa la consulta creas un while que contenga el array de $query y lo muestras y ya está.

PD: Solo tienes que mirar que a la hora de crear el inmueble coloques en la tabla la misma palabra que utilizarás para realizar la búsqueda (ej. Si a la hora de crear el producto pones en TipoInmueble que el valor es 'Casa', el select del buscador debe tener el mismo valor)

PD2: Esta consulta es a modo de ejemplo y no filtra la variable, te recomiendo que la filtres y compruebes que el valor puede ser válido antes de realizar la consulta porque si un usuario se dedica a cambiar los selects la consulta te mostrará un error y puedes tener problemas.

No se si es esto al que realmente te referías, si quieres realizar las tablas por separado puedes realizar la misma consulta del ejemplo pero quitando el TipoInmueble y colocando un if al principio que te seleccione la consulta dependiendo de la vivienda escogida. Si tienes alguna duda vuelves a comentar.

Saludos.

Etiquetas: html, mysql, select, tabla
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 12:58.