Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2009, 11:56
Info23
 
Fecha de Ingreso: mayo-2009
Mensajes: 83
Antigüedad: 15 años
Puntos: 1
Problema con formulario de busqueda desplegable

Hola,

Estoy realizando este formulario de busqueda desplagable y me falla algo que no encuentro. El problema es que el campo del formulario que sería para seleccionar una ciudad me funciona correctamente pero el de seleccionar un tipo de vivienda no, a la hora de realizar la busqueda es como sino existiese. El problema viene de esta parte del código php (if (intval($_POST['tipovivienda']) > 0) {
$sql .= " AND propiedades.idvivienda = '" . intval($_POST['tipovivienda']) . "'";).

Si alguien encontrara el fallo me haría un gran favor para poder solucionarlo!!

Código PHP:
<?php
$conexion 
mysql_connect('localhost''''');
mysql_select_db('');
?>
<html>
<head>
<title>Reporte de Propiedades</title>
</head>
<body>
<h1>B&uacute;squeda de Propiedades</h1>

<form name="form1" method="post" action="Busqueda.php">
<label>Tipo de vivienda:<br />
<select name="tipovivienda" id="tipovivienda">
  <option value="0">--Escoja tipo alquiler--</option>
  <?php
    $tablavivienda 
mysql_query("SELECT * FROM vivienda ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrovivienda mysql_fetch_array($tablavivienda)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
        <option value="<?php echo $registrovivienda['id']; ?>"><?php echo $registrovivienda['tipo']; ?></option>
  <?php
    
// termina la zona de repeticion
    
mysql_free_result($tablavivienda); // se libera la memoria usada por la tabla
?>
</select>
    <br>
</label>
    <label>Ciudad:<br />
      <select name="ciudad" id="ciudad">
        <option value="0">---Escoja la ciudad---</option>
        <?php
    $tablaciudades 
mysql_query("SELECT * FROM ciudades ORDER BY id ASC"); // 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>
    </label>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">
</form>
<table border="1">
<tr>
<td>Referencia</td>
<td>Foto</td>
<td>Tipo Vivienda</td>
<td>Ciudad</td>
<td>Población</td>
<td>Precio</td>
<td>Descripción</td>
</tr>
<?php
$sql 
"SELECT propiedades.*, ciudades.*, vivienda.* FROM propiedades, ciudades, vivienda WHERE propiedades.idciudad = ciudades.id && propiedades.idvivienda = vivienda.id ";
if (isset(
$_POST['ciudad']) > 0) {
    
$sql .= " AND propiedades.idciudad = '" . ($_POST['ciudad']) . "'";;
    if (
intval($_POST['tipovivienda']) > 0) {
        
$sql .= " AND propiedades.idvivienda = '" intval($_POST['tipovivienda']) . "'";
    }
}
$sql .= " ORDER BY vivienda.tipo ASC";
$tabla mysql_query($sql);
while (
$registro mysql_fetch_array($tabla)) {
?>
<tr>
<td><?php echo $registro['referencia']; ?></td>
<td><img src="ver.php?referencia=<?php echo $registro['referencia']; ?>" width="200" height="150" alt="" /></td>
<td><?php echo $registro['tipo']; ?></td>
<td><?php echo $registro['nombre']; ?></td>
<td><?php echo $registro['poblacion']; ?></td>
<td><?php echo $registro['precio']; ?></td>
<td><?php echo $registro['descripcion']; ?></td>
</tr>
<?php
}
mysql_free_result($tabla);
mysql_close($conexion);
?>
</table>
</body>
</html>
Gracias