Combinar consultas dinámicas jQuery <Fácil>

Iniciado por the_sheriff_pino, 9 Mayo 2013, 13:01 PM

0 Miembros y 1 Visitante están viendo este tema.

the_sheriff_pino

Saludos foreros!

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 (javascript) [Seleccionar]
<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) [Seleccionar]
<?php
$link 
mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd=mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");

$result;

function 
generaClientes()
{
$link  = mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd = mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");


$nombre = $_POST['nombre'];
//$provincia = $_POST['provincia'];
$poblacion = $_POST['poblacion'];
//$cif = $_POST['cif'];


if ( !empty (
$nombre) || !empty ($poblacion) || !empty ($provincia)|| !empty ($cif) ) {
    
$sql" SELECT * FROM tabla WHERE ";   //Empezar a crear la consulta:

if ( !empty($nombre) && !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
         
$sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ;   
     }

else if ( !empty($nombre) && !empty ($poblacion) && !empty ($cif) ) {   
     
$sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'"
    }
else if ( !empty($nombre) && !empty ($cif) && !empty ($provincia) ) {   
     
$sql .= " Nombre LIKE '%nombre' AND CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"
    }
else if ( !empty($nombre) &&  !empty ($provincia) ) {  
     
$sql .= " Nombre LIKE '%nombre' AND Provincia LIKE '%$provincia%'"
    }
else if ( !empty($nombre) &&  !empty ($cif) ) {  
     
$sql .= " Nombre LIKE '%nombre' AND CIF LIKE '%$cif%'"
    }
else if ( !empty($nombre) &&  !empty ($poblacion) ) {  
     
$sql .= " Nombre LIKE '%nombre' AND Poblacion LIKE '%$poblacion%'"
    }
else if ( !empty($nombre) ) {
     
$sql .= " Nombre LIKE '%$nombre%'"
    }
else if ( !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
     
$sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ;
}
else if ( !empty($poblacion) &&  !empty ($provincia) ) {  
     
$sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%'"
}
else if ( !empty($poblacion) &&  !empty ($cif) ) {  
     
$sql .= " Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'";
}
else if ( !empty($poblacion)) {  
     
$sql .= " Poblacion LIKE '%$poblacion%'"
}
else if ( !empty($cif) &&  !empty ($provincia) ) {  
     
$sql .= " CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"
}
else if ( !empty ($provincia) ) {  
     
$sql .= " Provincia LIKE '%$provincia%'"
}
else if ( !empty($cif) ) {  
     
$sql .= " CIF LIKE '%$cif%'"
}
}
   
$sql .= "ORDER BY Nombre ASC";

$consulta mysql_query ($sql) ;   //Hacer la consulta. ?>




<select name='clientes' size="5px">

   <?php 
while($registro=mysql_fetch_assoc($consulta))
{?>

<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(); ?>
Rebélate