Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

John Magno

Função autocompletar com jQuery, PHP e Banco de Dados

Recommended Posts

Galera preciso de ajuda.

 

Eu preciso preencher um campo. E o sistema complete as informações com o que ele tem no banco de dados que o SQL.

Preciso de quando preencher o campo ID. Automaticamente ele me preencha nome e fone.

 
<div class="row">
<div class="col-lg-12">
        <form action="">
            <div class="row">
<div class="form-group col-lg-2">
                    <label>ID:</label>
                       <input type="text" class="form-control" required id="id"/>
</div>
                <div class="form-group col-lg-2">
                    <label>Nome:</label>
<input type="text" class="form-control" id="nome" readonly="readonly"/>
                </div>
                    <div class="form-group col-lg-6">
<label>Telefone</label>
                            <input type="text" class="form-control" id="fone" readonly="readonly">
                    </div> 
</div>
</form>
</div>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre como vc tentou.

No código do exemplo tem tudo isso, lá estou usando mysqli

 

$db = new mysqli('localhost', 'root', '123', 'test');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre como você tentou.

No código do exemplo tem tudo isso, lá estou usando mysqli

 

$db = new mysqli('localhost', 'root', '123', 'test');
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$("input[name=cod_cli]").blur(function(){
var NOME_DEMITIR = $("input[name=NOME_DEMITIR]");
var SETOR_NIVEL1 = $("input[name=SETOR_NIVEL1]");
var NOME_NIVEL1 = $("input[name=NOME_NIVEL1]");
$( NOME_DEMITIR ).val('Carregando...');
$( SETOR_NIVEL1 ).val('Carregando...');
$( NOME_NIVEL1 ).val('Carregando...');
$.getJSON(
'function3.php',
{ cod_cli: $( this ).val() },
function( json )
{
$( NOME_DEMITIR ).val( json.NOME_DEMITIR );
$( SETOR_NIVEL1 ).val( json.SETOR_NIVEL1 );
$( NOME_NIVEL1 ).val( json.NOME_NIVEL1 );
}
);
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>Setor: <input type="text" name="cod_cli" /></label>
<label>Nome: <input name="NOME_DEMITIR" type="text" disabled="disabled" value="" /></label>
<label>Setor Nivel: <input type="text" name="SETOR_NIVEL1" value="" /></label>
<label>Nome Nivel: <input type="text" name="NOME_NIVEL1" value="" /></label>
</form>
</body>
</html>
<?php
include("cls_conexao.php");
function retorna($setor)
{
$cn = new conexao();
$sql = "exec proc_to_selecionarColaborador '".$setor."'";
$rs = $cn->executar_query_array($sql);
if(count($rs) > 0) {
$arr = Array();
$arr['NOME_DEMITIR'] = $rs[1]['NOME_DEMITIR'];
$arr['SETOR_NIVEL1'] = $rs[1]['SETOR_NIVEL1'];
$arr['NOME_NIVEL1'] = $rs[1]['NOME_NIVEL1'];
} else {
$arr['NOME_DEMITIR'] = 'SETOR NAO ENCONTRADO';
}
return json_encode( $arr );
}
/* só se for enviado o parâmetro, que devolve os dados */
if( isset($_POST['cod_cli']) )
{
echo retorna($_POST['cod_cli']);
}
function filter( $var ){
return $var;//a implementação desta, fica a cargo do leitor
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, e qual a dúvida ? qual o erro ?

 

Se vc acessar no browser: function3.php?cod_cli=1 deve aparecer um JSON.

Trabalhe e debugue o teu php até conseguir isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, e qual a dúvida ? qual o erro ?

 

Se você acessar no browser: function3.php?cod_cli=1 deve aparecer um JSON.

Trabalhe e debugue o teu php até conseguir isso.

 

Uncaught TypeError: Cannot read property 'NOME_DEMITIR' of null

 

O erro que ele me retorna é esse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, e qual a dúvida ? qual o erro ?

 

Se você acessar no browser: function3.php?cod_cli=1 deve aparecer um JSON.

Trabalhe e debugue o teu php até conseguir isso.

<?php
include("cls_conexao.php");
function retorna($setor) {
$cn = new conexao();
$sql = "exec proc_to_selecionarColaborador '".$setor."'";
$rs = $cn->executar_query_array($sql);
return json_encode($rs);
}
echo retorna($_POST['num_setor']);
?>
<!doctype html>
<html>
<head>
<title>Autocomplete - Tutsup</title>
<meta charset="UTF-8">
<!-- CSS do jQuery -->
<link rel="stylesheet" href="pasta_jquery_ui/jquery-ui.css">
<!-- JS do jQuery -->
<script src="pasta_jquery_ui/external/jquery/jquery.js"></script>
<!-- JS do jQuery UI -->
<script src="pasta_jquery_ui/jquery-ui.js"></script>
</head>
<body>
<input data-categoria="Suporte" data-fonte="Página inicial" name="cliente" class="cliente">
<script>
// URL para a busca
var busca_url = 'busca.php';
// Função de busca
var busca_funcao = function( request, response ) {
$.ajax({
url: busca_url,
type: 'GET',
dataType: "json",
data: {
// Parâmetro direto
cliente: request.term,
// Capturando parâmetro do input
categoria: this.element.attr('data-categoria'),
// Capturando outro parâmetro do input
fonte: this.element.attr('data-fonte')
},
success: function(data) {
response(data);
}
});
}
$( ".cliente" ).autocomplete({
source: busca_funcao,
minLength: 1,
select: function( event, ui ) {
// Quando for selecionado, faça:
alert( ui.item.nome_cliente );
}
});
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E qual erro o php está retornando ?

 

Veja que é um GET $.getJSON(

e aqui vc colocou POST:

echo retorna($_POST['num_setor']);
mude para GET, pois o getJSON faz GET.

 

Além disso, qual é o erro que o php retorna quando vc acessa a url ? aparece um JSON ? fica tela em branco ? o que acontece ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.