Si no estás obteniendo el resultado esperado es porque estás haciendo algo mal en la consulta, pero además, estás enviando los datos de cada caja de texto por separado, por lo que al enviar el dato escrito en la segunda luego de haberlo hecho con el dato de la primera, la consulta solo buscará con el segundo dato.
Deberías de enviar a ambos datos a la vez:
Código Javascript
:
Ver original$("#valor1, #valor2").keyup(function(){
var dato1 = $("#valor1").val(),
dato2 = $("#valor2").val();
$.ajax({
type: "GET",
url: "pages/result.php",
data: {
nom: dato1,
ape: dato2
},
dataType: "html",
success: function(response){
$("#resultado").html(response);
}
});
});
Y en la consulta harías algo similar a esto:
Código PHP:
Ver original
$query = mysqli_query($conexion, "SELECT * FROM tabla WHERE nom LIKE '%{$nom}%' AND ape LIKE '%{$ape}%'");
Como se trata de una consulta a la BD, debes de utilizar el método GET que es el apropiado para este caso. Por otro lado, veo que al recibir la respuesta de la petición asíncrona, haces esto:
Código Javascript
:
Ver original$("#resultado").hmtl(data);
$("#resultado").val(consulta);
Lo cual es incompatible, es decir, si la respuesta la mostrarás en un elemento
que no posea el atributo value
, entonces lo primero está de más, sin embargo, si piensas mostrar la respuesta en un elemento como un
<div>
,
<label>
o similares, solo lo primero estaría bien, aunque el nombre del método es
html
y no
hmtl
.
Saludos