Os comento, tengo un pequeño filtro, de dos campos que quiero combinar sus resultados para mostrar los campos de una base de datos de mysql.
(Con un solo campo para filtrar me funciona correctamente)
Cuando escribo en el campo Nombre me filtra por nombre, si escribo en el campo Poblacion, filtra por poblacion y omite el campo Nombre.
El fallo debe de estar en el script de ajax, y sobre todo en la línea donde aparece #resultado.
Código
<html> <head> <title>Búsqueda</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#nombre").keydown( function(event) { var nnombre = $("#nombre").attr("value"); $("#resultado").load('busqueda.php',{nombre:nnombre}); } ); $(document).ready(function() { $("#nombre").keyup( function(event) { var nnombre = $("#nombre").attr("value"); $("#resultado").load('busqueda.php',{nombre:nnombre}); } ) $("#poblacion").keydown( function(event) { var npoblacion = $("#poblacion").attr("value"); $("#resultado2").load('busqueda.php',{poblacion:npoblacion}); } ); }); }); $(document).ready(function() { $("#poblacion").keyup( function(event) { var npoblacion = $("#poblacion").attr("value"); $("#resultado2").load('busqueda.php',{poblacion:npoblacion}); } ); }); </script> </head> <body> Nombre: <input type="text" name="nombre" id="nombre" autocomplete="off" /> <br /> Población: <input type="text" name="poblacion" id="poblacion" autocomplete="off" /> <br /> <div id="resultado" style="border: solid black 1px;"></div> <div id="resultado2" style="border: solid black 1px;"></div> </body> </html>
Código
<?php $result; function generaClientes() { $nombre = $_POST['nombre']; //$provincia = $_POST['provincia']; $poblacion = $_POST['poblacion']; //$cif = $_POST['cif']; $sql= " SELECT * FROM tabla WHERE "; //Empezar a crear la consulta: $sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ; } $sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'"; } $sql .= " Nombre LIKE '%nombre' AND CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Nombre LIKE '%nombre' AND Provincia LIKE '%$provincia%'"; } $sql .= " Nombre LIKE '%nombre' AND CIF LIKE '%$cif%'"; } $sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%'"; } $sql .= " Nombre LIKE '%$nombre%'"; } $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ; } $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'"; } $sql .= " Poblacion LIKE '%$poblacion%'"; } $sql .= " CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Provincia LIKE '%$provincia%'"; } $sql .= " CIF LIKE '%$cif%'"; } } $sql .= "ORDER BY Nombre ASC"; <select name='clientes' size="5px"> <?php {?> <option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ", $registro['Provincia']; ?></option> <?php } ?> </select> <?php } ?> </form> <br /> <br /> <?php generaClientes(); ?>