Foros del Web » Programando para Internet » PHP »

Problema con formulario de busqueda desplegable

Estas en el tema de Problema con formulario de busqueda desplegable en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/06/2009, 11:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 83
Antigüedad: 14 años, 11 meses
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
  #2 (permalink)  
Antiguo 11/06/2009, 14:42
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Problema con formulario de busqueda desplegable

el problema esta en
if (isset($_POST['ciudad']) > 0) {
isset siempre devuelve true o false por ende sempre va a dar false al compararlo si es mayor a 0

solucion sacar el >0 quedando asi nada mas

if (isset($_POST['ciudad'])) {

__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 12/06/2009, 02:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 83
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Problema con formulario de busqueda desplegable

El problema era justamente ese.
Muchas Gracias! Ya lo he solucionado!
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:24.