Ir para conteúdo

POWERED BY:

Arquivado

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

RUY

Carregar um formulario

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

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