Consulta ao BD sem refresh na pagina
Boa tarde amigos do fóum.
Estou com um problema aqui. Tenho um formulário onde o usuário vai se cadastrar e precisa digitar um código secundário (que não é chave primaria da tabela), porém preciso fazer uma consulta a fim de verificar se não há duplicidade.
Fiz uma função, porem não está funcionando e não sei o que estou fazendo de errado. Abaixo segue o trecho do código.
<script language="javascript" charset="utf-8" type="text/javascript">
function pesquisa(str) {
if (str == "") {
document.getElementById("txt_codigo").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txt_codigo").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","pesquisa.php?q=" + str, true);
xmlhttp.send();
}
</script>
<?php $q = $_GET["q"]; $dbconn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (!$dbconn) { mensagem("",$dbconn,1); } $_query = "SELECT codigo FROM clientes WHERE codigo = '".$q."'"; $_result = mysqli_query($dbconn,$_query); if (mysqli_num_rows($_result) == 1) { // caso encontre o codigo exibe um "alert" notificando o usuario de que // o codigo digitado já existe. mensagem("","",16); } mysqli_close($dbconn); ?>
<tr>
<td>Codigo secundario::</td>
<td> <input type="text" name="txt_codigo" value="" maxlength="7" onchange="pesquisa(this.value)"/> </td>
</tr>
Alguém poderia me ajudar? Onde estou errando?
Grato e abraço a todos
Discussão (14)
Carregando comentários...