Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/11/2011, 13:43
bbrian
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Filtrar busqueda

Dale buenisimo:

index.php
Código PHP:
<?php
    $conexion 
= new mysqli("localhost","root","","inmobiliaria",3306);

    
$strConsulta "select id, marca from marca";
    
$result $conexion->query($strConsulta);
    
$opciones '<option value="0"> Elige una marca</option>';
    while( 
$fila $result->fetch_array() )
    {
        
$opciones.='<option value="'.$fila["id"].'">'.$fila["marca"].'</option>';
    }
    
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Selects combinados JQuery + Ajax + PHP + MySQL</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("#marca").change(function(){
                    $.ajax({
                        url:"procesa.php",
                        type: "POST",
                        data:"idmarca="+$("#marca").val(),
                        success: function(opciones){
                            $("#modelo").html(opciones);
                        }
                    })
                });
            });
        </script>
    </head>
    <body>
        <div> Selects combinados </div>
        <div> <label> Marca:</label> <select id="marca"><?php echo $opciones?></select>  </div>
        <div>
            <label> Modelo:</label>
            <select id="modelo">
                <option value="0">Elige un modelo</option>
            </select>
        </div>

    </body>
</html>
procesa.php
Código PHP:
<?php
if(isset($_POST["idmarca"]))
    {
        
$opciones '<option value="0"> Elige un modelo</option>';

        
$conexion= new mysqli("localhost","root","","inmobiliaria",3306);
        
$strConsulta "select id, modelo from modelo where idmarca = ".$_POST["idmarca"];
        
$result $conexion->query($strConsulta);
        

        while( 
$fila $result->fetch_array() )
        {
            
$opciones.='<option value="'.$fila["id"].'">'.$fila["modelo"].'</option>';
        }

        echo 
$opciones;
    }
?>
EDITO:

te voy a mostrar que es lo que tengo realizado yo, asi lo ves y me decis si el codigo que me enviaste me puede servir para lo que necesito.

Código PHP:
<tr> <h1 align="center" class="Estilo1"><img src="head-buscador.png" width="960" height="160" /></h1>
  <form action="busquedapropiedades.php" method="post" name="form1" class="Estilo1">
    <label>
    <div align="center" class="Estilo7">Buscar:
      <input type="text" name="txtBusqueda" id="txtBusqueda">
    Ciudad:
    <select name="selCiudad" id="selCiudad">
      <option value="-1" selected>Todas</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>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">
    </div>
    </label>
    <div align="center"></div>
  </form>

  <div align="center">
    <table width="563" border="1">
      <tr>
        <td width="122" class="Estilo9">ID Propiedad </td>
    <td width="97" class="Estilo9">Propiedad</td>
    <td width="52" class="Estilo9">Ciudad</td>
    <td width="80" class="Estilo9">Descripci&oacute;n</td>
    <td width="205" class="Estilo9">Precio</td>
    </tr>
      <?php
$sql 
"SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ";
if (isset(
$_POST['txtBusqueda'])) {
    
$sql .= " AND propiedades.titulo LIKE '%" $_POST['txtBusqueda'] . "%' ";
    if (
intval($_POST['selCiudad']) > 0) {
        
$sql .= " AND propiedades.idciudad = '" intval($_POST['selCiudad']) . "'";
    }
}
$sql .= " ORDER BY ciudades.nombre DESC";
$tabla mysql_query($sql);
while (
$registro mysql_fetch_array($tabla)) {
?>
      <tr>
        <td height="82" class="Estilo1"><span class="Estilo9"><?php echo $registro['id']; ?></span></td>
    <td class="Estilo1"><span class="Estilo9"><?php echo $registro['titulo']; ?></span></td>
    <td class="Estilo9"><?php echo $registro['idciudad']; ?><?php echo $registro['nombre']; ?></td>
    <td class="Estilo1"><span class="Estilo9"><?php echo $registro['descripcion']; ?></span></td>
    <td class="Estilo9">Venta: <?php echo $registro['precioventa']; ?> / Renta: <?php echo $registro['preciorenta']; ?></td>
    </tr>
      <?php
}
mysql_free_result($tabla);
mysql_close($conexion);
?>
    </table>
Yo no necesito que cuando elijo un campo se actualice el de al lado yo quiero poner 3 filtros y buscar con esa informacion, algo similar a esta web: http://www.distrisurweb.com.ar/productos.php
me parece que eso es un poco mas facil no ?

Última edición por bbrian; 18/11/2011 a las 13:49