Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/08/2014, 10:46
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Busqueda ajax

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
  1. $("#valor1, #valor2").keyup(function(){
  2.     var dato1 = $("#valor1").val(),
  3.         dato2 = $("#valor2").val();
  4.  
  5.     $.ajax({
  6.         type: "GET",
  7.         url: "pages/result.php",
  8.         data: {
  9.             nom: dato1,
  10.             ape: dato2
  11.         },
  12.         dataType: "html",
  13.         success: function(response){                                                  
  14.             $("#resultado").html(response);
  15.         }
  16.     });
  17. });

Y en la consulta harías algo similar a esto:

Código PHP:
Ver original
  1. $nom = mysqli_real_escape_string(strip_tags($_GET['nom']));
  2. $ape = mysqli_real_escape_string(strip_tags($_GET['ape']));
  3.  
  4. $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
  1. $("#resultado").hmtl(data);
  2. $("#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
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand