1. ¿Quieres apoyar a nuestro foro haciendo una donación ? Entra aquí

buscador JS + PHP me muestra todos los datos, sin filtrar.

Tema en 'Desarrollo Web (Webmasters)' comenzado por Goalkeeper, 21 de Mayo de 2017.

  1. Goalkeeper Animal

    Fecha Ingreso:
    24 de Septiembre de 2007
    Mensajes:
    7.011
    El Aporte:
    9.068
    VaginaPilin:
    Macho
    Foquimoney:
    $24.797
    Hola, que tal.
    Tengo un problema que no he logrado solucionar por falta de conocimientos.

    Implementé un buscador dinámico en PHP + JS para que mediante un cuadro de texto, al ingresar una palabra, automáticamente mientras tipeas se te despliegue en pantalla las coincidencias con la base de datos.

    Todo va bien, la base de datos está OK, la interfaz del sitio web todo ok.

    Pero sucede que una vez que realizas la primera busqueda, luego de cargar el sitio, al borrar el cuadro de texto para buscar una segunda palabra, el script me muestra toda la base datos.

    Y necesito obviamente que cuando no exista texto en el cuadro de texto, obviamente no me busque nada y no despliegue nada.

    El JS es este:
    ---------------------------------------------------------------------------------------------
    function buscar(){
    var pattern = document.getElementById('buscar').value;
    var solicitud = new XMLHttpRequest();
    var data = new FormData();
    var url = 'buscar.php';
    data.append("pattern", pattern);
    solicitud.open('POST',url, true);
    solicitud.send(data);
    solicitud.addEventListener('load', function(e){
    var cajadatos = document.getElementById('datos');
    cajadatos.innerHTML = e.target.responseText;

    }, false);
    }
    window.addEventListener('load', function(){
    document.getElementById('buscar').addEventListener('input', buscar, false);
    }, false);
    --------------------------------------------------------------------------------------------------
    .
    Agradesco sus comentarios.
     
  2. Antronio ElAntro.cl

    loading...
  3. Si quieres implementar que no se busque si el campo está en blanco, debes limitar eso tanto en js como en buscar.php, en este caso, php está respondiendo cuando el dato está en blanco,lo que está mal.
    Por otro lado, prueba cambiando el evento a "change" en el text input.
     
  4. Goalkeeper Animal

    Fecha Ingreso:
    24 de Septiembre de 2007
    Mensajes:
    7.011
    El Aporte:
    9.068
    VaginaPilin:
    Macho
    Foquimoney:
    $24.797
    Gracias viejo, con lo que me dijiste se me iluminó la ampolleta, tenías razón, en el PHP estaba desplegando sin tomar en cuenta la variable.
    se me agueono el navegar no me deja pegar texto.

    La cosa es que le puse una sentencia EMPTY con al $POST(variable) y ahi dejó de mostrarme toda la DB cuando el campo esta vacío.
     
  5. No te olvides de que también debes limitar eso en js: Si el valor del text input es igual a "", entonces no hacer la consulta a buscar.php.
    Otra recomendación es que ocupes prepared statements para sql.
    slds
     

Comparte esta página

Cargando...