Check equal data in SQL with onBlur

1

I need to type in input , it checks the database if there is an equal record, such as those fields of user creation in email.

I think it's in onBlur of input , and using if == in the command, the problem is: how do I call SQL values for comparison?

No search button, it has to be when typing (onblur).

input is limited to 7 characters.

<input name="placa" id="placa" type="text" value="" pattern="[A-Za-z]{3}[0-9]{4}" size="20" maxlength="7" required onkeyup="this.value = this.value.toUpperCase();" onblur="verifExists(digs)"> 

DIV hidden after input

<div class="style12" id="jaexistedv" style="display:none">Placa j&aacute; registrada!</div>

PHP + Java

$search_buscar = "-1";
if (isset($_GET['placa'])) {
  $search_buscar = (get_magic_quotes_gpc()) ? $_GET['placa'] : addslashes($_GET['placa']);
}

mysql_select_db($database_LocalPHP, $LocalPHP);
$query_buscar = sprintf("SELECT * FROM bdsul WHERE bdsul.placa LIKE '%s'", $search_buscar);
$buscar = mysql_query($query_buscar, $LocalPHP) or die(mysql_error());
$row_buscar = mysql_fetch_assoc($buscar);
$totalRows_buscar = mysql_num_rows($buscar);

<script type="application/javascript">
        function verifExists(digs) {
        var regpl = <?php echo $row_buscar['placa']; ?>;
        if (digs == regpl) {
            document.getElementById("jaexistedv").style = "display:show";
            }
        }
    </script>
    
asked by anonymous 20.05.2018 / 01:06

1 answer

1

Using JQuery and Ajax, you could do something like this:

    $("#registro").on("blur", function(){

       var valor = $(this).val();

       $.ajax({
          url: "url_da_pagina_backend", // página onde você acessará o banco para fazer a checagem
          data: {
              valor: valor // passa o valor para o backend para checagem
          },
          type: "POST",
          success: function (data) {
              if(data == 'existe'){ // apenas um exemplo de checagem
                  // informe o erro, deixe o campo vermelho, etc.
          }
        }
     });
  });

If you do not use JQuery, with pure Javascript it would look like this:

 function checarRegistro() { // Função que voce vai chamar no onBlur do campo
    // Cria um objeto ajax para fazer a requisição
    var ajax = new XMLHttpRequest();
    // Pega o valor do campo
    var registro = document.getElementById("registro");
    // Seta tipo de requisição e URL com os parâmetros
    ajax.open("GET", "url_da_pagina_backend/?registro=" + registro, true);
    // Envia a requisição
    ajax.send();
    // Cria um evento para receber o retorno.
    ajax.onreadystatechange = function() {
    // Caso o state seja 4 e o http.status for 200, é porque a requisição deu certo.
   if (ajax.readyState == 4 && ajax.status == 200) {
     // Retorno da requisição
     var data = ajax.responseText;
     // Aqui você verifica o retorno e faz a checagem
     if (data == "existe") {
       // faz alguma coisa
     }
   }
 }
}
    
21.05.2018 / 15:18