• Jueves 2 de Mayo de 2024, 16:52

Autor Tema:  Formulario en Php con Mysql  (Leído 2262 veces)

nurrosa

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Formulario en Php con Mysql
« en: Martes 5 de Octubre de 2010, 19:35 »
0
Soy nueva en tema foros, asi que espero, ser clara. Agradezco totalmente a quien me pueda dar un ayuda, por favor.

Lo que quiero lograr es que se combinen el resultado de 2 select, o sea lo que eligo del 1ro. y el 2do. me den como resultado un registro de mi Base de Datos.
Antes de copiar el codigo, les cuento que el primer select, funciona bien, pero no funciona el 2do.
El archivo es index.php, o sea vuelve sobre si mismo.

<?php
     include ('conexion.php');   
?>
<html>
<body>
<form name="form1" method="post" action="index.php">
   <label>
   Ciudad:
   <select name="selZonas" id="selZonas">
      <option value="-1" selected>Todas</option>
<?php
   $tablazona = mysql_query("SELECT * FROM zona ORDER BY nombre ASC"); // Seleccionamos las zona de la tabla zona
   while ($registrociudad = mysql_fetch_array($tablazona)) { // 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($tablazona); // se libera la memoria usada por la tabla
?>
   </select>
    </label>
    <br><br>
   
   <label>Barrio:
   <select name="selBarrios" id="selBarrios">
      <option value="-1" selected>Todas</option>
<?php
   $tablabarrios = mysql_query("SELECT * FROM barrios ORDER BY nombreB ASC"); // Seleccionamos las ciudades de la tabla ciudades
   while ($registrobarrio = mysql_fetch_array($tablabarrios)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
      <option value><?php echo $registrobarrio['nombreB']; ?></option>
<?php
   } // termina la zona de repeticion
   mysql_free_result($tablabarrios); // 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>ID Propiedad </td>
<td>Dirección</td>
<td>Zona</td>
<td>Barrio</td>
<td>Descripci&oacute;n</td>
<td>Precio</td>
</tr>
<?php
if (intval($_POST['selZonas']) >= 2)  {
   $sql = "SELECT inmobiliaria.*, zona.* FROM inmobiliaria, zona WHERE inmobiliaria.idzona = zona.id ";
   $sql .= " AND inmobiliaria.idzona = '" . intval($_POST['selZonas']) . "'";
}
if ((intval($_POST['selZonas']) < 2) && (intval($_POST['selBarrios']) > 0)) {      
   $sql = "SELECT inmobiliaria.*, zona.*, barrios.* FROM inmobiliaria, zona, barrios WHERE inmobiliaria.idbarrios = barrios.id ";   
   $sql .= " AND inmobiliaria.idbarrios = '" . intval($_POST['selZonas'])  . intval($_POST['selBarrios']) . "'";   
}
$sql .= " ORDER BY zona.nombre, barrios.nombreB ASC";
$tabla = mysql_query($sql)or die(mysql_error());
while ($registro = mysql_fetch_array($tabla))
{
?>
<tr>
<td><?php echo $registro['id']; ?></td>
<td><?php echo $registro['direccion']; ?></td>
<td><?php echo $registro['idzona']; ?>) <?php echo $registro['nombre']; ?></td>
<td><?php echo $registro['idbarrios']; ?>) <?php echo $registro['nombreB']; ?></td>
<td><?php echo $registro['descrip']; ?></td>
<td>Venta: <?php echo $registro['precio']; ?> / Renta: <?php echo $registro['precio']; ?></td>
</tr>
<?php
}
//mysql_free_result($tabla);
mysql_close($conexion);
?>
</table>
</body>
</html>

Muchas, pero muchas gracias y espero tener suerte. :rolleyes:

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Formulario en Php con Mysql
« Respuesta #1 en: Lunes 1 de Noviembre de 2010, 20:28 »
0
Por que no intentas con JOIN
Código: SQL
  1.  
  2.  
  3. SELECT
  4. *
  5. FROM inmobiliaria
  6. JOIN zonas ON inmobiliaria.idzona = zona.id
  7. JOIN barrios ON inmobiliaria.idbarrios = barrios.id
  8.  
  9.  
  10.  
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

nurrosa

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Formulario en Php con Mysql
« Respuesta #2 en: Lunes 1 de Noviembre de 2010, 20:38 »
0
Muchisimas gracias. Lo probare.
perdon por la demora en contestar.
Muchas. muchas gracias