RUY 2 Denunciar post Postado Novembro 26, 2009 Teum uma tabela chamada cadastro, essa tabela recebe dados de um formulario. Acontece que as vezes o usuario precisa altera os dados,. Queria fazer uma uma busca, onde o usuario digita o CPF e automaticamente carrega o formulario com os dados da tabela. $query=mysql_query("select cpf from cadastro"); Grato pela atenção dada. PS:O máximo que encontrei proximo foi de alguém pedido ajuda para um sistema de cotação Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 26, 2009 Dá uma olhada nisso: http://www.wbruno.com.br/scripts/combo-preenche-input.php basta alterar o script para rodar com um input text(já respondi isso aqui no fórum uma vez), e para buscar pelo CPF(tem até uma versão ASP desse meu script fazendo isso). http://www.wbruno.com.br/blog/?p=12 Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Novembro 26, 2009 Dá uma olhada nisso: http://www.wbruno.com.br/scripts/combo-preenche-input.php basta alterar o script para rodar com um input text(já respondi isso aqui no fórum uma vez), e para buscar pelo CPF(tem até uma versão ASP desse meu script fazendo isso). http://www.wbruno.com.br/blog/?p=12 Beleza vou dar uma olhada, ele está fazendo exatamente o que eu procuro Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Novembro 30, 2009 Não deu certo não sei o que está acontecendo autoinput.html <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("input[name='fldcpf']").blur(function()); $("input[name='fldnome']").val('Carregando...'); $("input[name='fldcargo']").val('Carregando...'); $.getJSON( 'function.inc.php', {fldcpf: $(this).val()}, function(data){ $.each(data, function(i, obj){ $("input[name='fldnome']").val(obj.endereco); $("input[name='fldcargo']").val(obj.telefone); }) }); }); }); </script> </head> <body> <form action="" method="post"> <label>cpf:<input type="text" name="fldcpf" value="" /></label> <?php include('function.inc.php'); echo montaSelect(); ?> </select></label> <label>Nome: <input type="text" name="fldnome" value="" /></label> <label>cargo: <input type="text" name="fldcargo" value="" /></label> </form> </body> </html function.inc.php <?php include("mysqlconfig.inc"); /** * função que retorna o select */ function montaSelect() { $sql = "SELECT `fldcpf` FROM `cadastro_usuario` "; $query = mysql_query( $sql ); if( mysql_num_rows( $query ) > 0 ) { while( $dados = mysql_fetch_assoc( $query ) ) { $opt .= '<option value="'.$dados['fldcpf'].'">'.$dados['fldcargo'].'</option>'; } } else $opt = '<option value="0">Nenhum cliente cadastrado</option>'; return $opt; } /** * função que devolve em formato JSON os dados do cliente */ function retorna($fldcpf=null ) { $id = (int)$id; $sql = "SELECT * FROM `cadastro_usuario` "; if($fldcpf!=null) $sql .= "WHERE `fldcpf` = {$fldcpf} "; $query = mysql_query( $sql ); //$json = 'var dados = '; $json .= ' ['; if( mysql_num_rows( $query ) > 0 ) { while( $dados = mysql_fetch_assoc( $query ) ) { $json .= "{endereco: '{$dados['fldnome']}', telefone: '{$dados['fldcargo']}'}"; } } else $json = 'endereco: não encontrado'; $json .= ']'; //$jston .= ';'; return $json; } /* só se for enviado o parâmetro, que devolve o combo */ if( isset($_GET['fldcpf']) ) { echo retorna($_GET['fldcpf'] ); } ?> Isso é apenas para testar a lógica, pois pretendo inserir esse código em outro arquivo .php apenas a parece 3 campos input, mas quando eu digito o CPF nada funciona Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 1, 2009 Já que você não precisa da tag select, pode deixar apenas assim o form: <form action="" method="post"> <label>cpf:<input type="text" name="fldcpf" value="" /></label> <label>Nome: <input type="text" name="fldnome" value="" /></label> <label>cargo: <input type="text" name="fldcargo" value="" /></label> </form> </body> </html>Como você está chamando uma função no evento blur do campo, você deve abrir chaves: $(document).ready(function(){ $("input[name='fldcpf']").blur(function(){Acesse diretamente:function.inc.php?fldcpf=111.111.111.11 //lembre-se de colocar aqui, algum CPF que você tenha no banco. você pode excluir a função: function montaSelect() do arquivo. Faça as alterações que sugeri, e conforme aparecerem erros ao acessar o function diretamente, e você não souber resolver, poste. Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Dezembro 9, 2009 Desculpa pela demora em responder, mas houve umamudança nos plano original. Agora querem que o fomulario carregue os dados quando o usuario logar na máquina e pedir aaltereção. Que é feito num dropbox como no seu exemplo. Mas não sei o que tá havendo na lógica. <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("select[name='iduser']").change(function(){ $("input[name='fldnome']").val('Carregando...'); $("input[name='fldcpf']").val('Carregando...'); $.getJSON( 'function.php', {idCliente: $(this).val()}, function(data){ $.each(data, function(i, obj){ $("input[name='fldnome']").val(obj.fldnome); $("input[name='fldcpf']").val(obj.fldcpf); }) }); }); }); </script> </head> <body> <form action="" method="post"> <label>Nome: <select name="nome"> <option value="">--</option> <?php include('function.php'); echo montaSelect(); ?> </select></label> <label>Endereço: <input type="text" name="fldnome" value="" /></label> <label>Telefone: <input type="text" name="fldcpf" value="" /></label> </form> </body> </html> ================================================= function.php <?php include('mysqlcongig.ini') $_POST[iduser]=getenv("USERNAME"); /** * função que retorna o select */ function montaSelect() { if(isset($_POST[iduser]) && ($_POST[lbfinalidade]=="Alteracao")) { $busca = "SELECT `iduser` FROM `cadastro_usuario` "; $query = mysql_query( $busca ); if( mysql_num_rows( $query ) > 0 ) { while( $dados = mysql_fetch_assoc( $query ) ) { $opt .= '<option value="'.$dados['iduser'].'"></option>'; } { else $opt = '<option value="0">Nenhum usuario cadastrado</option>'; return $opt; } } /** * função que devolve em formato JSON os dados do cliente */ function retorna( $id=null ) { $id = (int)$id; $busca = "SELECT * FROM `cadastro_usuario` "; if( $id != null ) $sql .= "WHERE `iduser` = {$id} "; $query = mysql_query( $busca ); //$json = 'var dados = '; $json .= ' ['; if( mysql_num_rows( $query ) > 0 ) { while( $dados = mysql_fetch_assoc( $query ) ) { $json .= "{Nome: '{$dados['fldnome']}', CPF: '{$dados['fldcpf']}'}";; } } else $json = 'endereco: não encontrado'; $json .= ']'; //$jston .= ';'; return $json; } /* só se for enviado o parâmetro, que devolve o combo */ if( isset($_GET['iduser']) ) { echo retorna( $_GET['iduser'] ); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 9, 2009 você tá enviando errado.. olha: {idCliente: $(this).val()}, ai você tenta receber: if( isset($_GET['iduser']) ) ai não funciona mesmo.. precisam ser iguais.. você precisa informar oque acontece.. erro ? qual ? se você acessar a function diretamente, oque aparece?? localhost/function.php?iduser=1 ? erros ? ou o jSON ? E aqui tb: $("input[name='fldnome']").val(obj.fldnome); $("input[name='fldcpf']").val(obj.fldcpf); o jSON ta te respondendo: $("input[name='fldnome']").val(obj.Nome); $("input[name='fldcpf']").val(obj.CPF); Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Dezembro 10, 2009 function.php [{Nome: 'visita', CPF: '11111111111'}{Nome: 'laiene', CPF: '1237894560'}] Essa a mensagem que está imprimindo qundo digitei localhost/(...)/function.php?iduser=visita (...)=resto do endereço function.php function montaSelect() { if(isset($_POST[iduser]) && ($_POST[lbfinalidade]!="Outro")) { $busca = "SELECT `iduser` FROM `cadastro_usuario`"; $query = mysql_query($busca); if( mysql_num_rows($query) > 0 ) { while( $dados = mysql_fetch_assoc($query) ) { $opt .= '<option value="'.$dados['iduser'].'"></option>'; } } else { $opt = '<option value="0">Nenhum usuario cadastrado</option>'; return $opt; } } } script do formulario.html <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("select[name='iduser']").change(function() { $("input[name='fldnome']").val('Carregando...'); $("input[name='fldcpf']").val('Carregando...'); $.getJSON( 'function.php', {iduser: $(this).val()}, function(data) { $.each(data, function(i, obj) { $("input[name='fldnome']").val(obj.Nome); $("input[name='fldcpf']").val(obj.CPF); }) }); }); }); </script> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 10, 2009 Ta faltando uma virgula entre os objetos... mas se você ta selecionando por id, nao deveria retornar UMA UNICA linha do banco de dados ?? apenas arrume o jSON assim: $json .= "{Nome: '{$dados['fldnome']}', CPF: '{$dados['fldcpf']}'}, ";devera funcionar. Retorne informando oque deu errado, ou oque nao aconteceu. Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Dezembro 11, 2009 Nada, continua como mesmo problema o formulario não carregou. Não sei se é o caso mas na parte html acrescentei a seguinte linha <?php //Inserir tags de php include('function.php'); echo montaSelect(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
RUY 2 Denunciar post Postado Dezembro 11, 2009 Nada, continua como mesmo problema o formulario não carregou. Não sei se é o caso mas na parte html acrescentei a seguinte linha <?php //Inserir tags de php include('function.php'); echo montaSelect(); ?> OBS:Ao mudar a opção do combox não aprece a mensagem carregando Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 11, 2009 Nada, continua como mesmo problema o formulario não carregou.Como assim? Não sei se é o caso mas na parte html acrescentei a seguinte linha <?php //Inserir tags de php include('function.php'); echo montaSelect(); ?> Pra quê ??Cara, roda o meu script, do jeito que coloquei no site. Lá está funcionando. Certamente você se perdeu em algum passo. Se você não tentar entender como foi feito, não tem como conseguir aplicar. OBS:Ao mudar a opção do combox não aprece a mensagem carregando Baixou a biblioteca jQuery??http://jquery.com/ Aqui você linkou ela: <script type="text/javascript" src="jquery-1.3.2.min.js"></script> mas esse arquivo existe nesse nivel de diretorio ? Compartilhar este post Link para o post Compartilhar em outros sites