Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/06/2009, 04:53
Info23
 
Fecha de Ingreso: mayo-2009
Mensajes: 83
Antigüedad: 15 años, 10 meses
Puntos: 1
Exclamación Respuesta: Precio máximo con php

Hola,

Aquí estoy de nuevo, he estado probando el codigo y me daba algunos pequeños errores a la hora de adaptarlo pero ya he conseguido que no de ningún error. Pero el problema es que no funciona, funciona el desplegable de tipovivienda y el de ciudad pero el de precio no funciona, es como si no entrase dentro del registro precio y no lo recorriese buscando la información...
Se te ocurre algo donde falte algún dato?
Tengo que decirte que el desplegable del precio lo he hecho manual no dinámico ya que no tengo una tabla especifica para el precio... Puede ser que el problema esté en ligar el desplegable con el php ?

Te dejo el código limpio de errores:


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="Busqueda2.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 nombre 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>
      <br>
       <label>Precio máximo<br>
      <select name="precio" id="precio">
        <option value="0">--Cualquier precio--</option>
        <option value="1">Máximo 200€</option>
        <option value="2">Máximo 400€</option>
        <option value="3">Máximo 600€</option>
        <option value="4">Máximo 800€</option>
      </select>
      <br>
    </label>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">
</form>
<br>
<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['tipovivienda'])) {
    
$sql .= " AND propiedades.idvivienda = '" . ($_POST['tipovivienda']) . "'";
    if (
intval($_POST['ciudad']) > 0) {
        
$sql .= " AND propiedades.idciudad = '" intval($_POST['ciudad']) . "'";    
    }
}    
$sql .= " ORDER BY referencia ASC";
$tabla mysql_query($sql);


switch (
$_POST['precio']){
    case 
1:
    
$precio_bajo=0;
    
$precio_alto=200;
    break;

    case 
2:
    
$precio_bajo=201;
    
$precio_alto=400;
    break;

    case 
3:
    
$precio_bajo=401;
    
$precio_alto=600;
    break;
    
    case 
4:
    
$precio_bajo=601;
    
$precio_alto=800;
    break;
    
    default:
    
$precio_bajo=0;
    
$precio_alto=10000000000000;
}
while (
$registro mysql_fetch_array($tabla)) {
    if ((
$registro['precio'] < $precio_alto) && ($registro['precio'] > $precio_bajo)) 
?> 
<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>