Ir para conteúdo

POWERED BY:

Arquivado

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

vitorm11

Autocompletar campos

Recommended Posts

E ae pessoal do imasters....

 

To aqui com uma duvida em ajax...

 

eu tenho um form com 4 campos... Codigo, Nome, Quantidade, Preço.

 

Eu queria em 2 situações:

 

1 - O cliente digita o codigo e o nome e o preço aparecem automaticamente.

 

2 - O cliente digita o nome do produto e o codigo e o preço aparecem automaticamente.

 

Lembrando que esses dados vem do MySql e se trata de um sistema de php + MySQL.

 

Vlw ae povo. Aguardo respostas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a dúvida amigo? começou à fazer?

Aqui eu fiz com um combobox, preenchendo os campos:

 

http://www.wbruno.com.br/blog/?p=12

 

Adapte à tua necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

william eu nao consegui fazer nao estou tentando ja faz algum tempo mais nao consegio nao nao to sabendo fazer... se puder me add vitorm11@hotmail.com.... caso nao possa fla ae q eu tiro minha duvida por aqui mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a dúvida ?

o fórum existe para isso. Oque você já fez? deu algum erro ?

 

Se quiser que alguém faça por ti, contrate.

http://forum.imasters.com.br/index.php?/forum/87-empregos-curriculos-parcerias-e-negocios/

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz conforme um topico aqui no forum de ajax... Topico no Forum

 

Ficou assim:

 

index.php

<html>
<head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){
                $("select[name='codigo']").change(function(){
                        $("input[name='nome']").val('Carregando...');
                        $("input[name='preco']").val('Carregando...');

                        $.getJSON(
                                'function.php',
                                {codigo: $(this).val()},
                                function(data){
                                        $.each(data, function(i, obj){
                                                $("input[name='nome']").val(obj.nome);
                                                $("input[name='preco']").val(obj.preco);
                                        })
                                });
                });
        });
        </script>
</head>
<body>
        <form action="" method="post">
                <label>Código: <input type="text" name="codigo" /></label>
                <label>Nome: <input type="text" name="nome" value="" /></label>
                <label>Preço: <input type="text" name="preco" value="" /></label>

        </form>
</body>
</html>

Agora o function.php

<?php
        $con = mysql_connect('localhost', 'root', '');
        mysql_select_db('vendas', $con);

        /**
         * função que devolve em formato JSON os dados do cliente
         */
        function retorna( $codigo=null )
        {
                $sql = "SELECT * FROM `produtos` ";
                if( $codigo != null )
                        $sql .= "WHERE `codigo` = {$codigo} ";
                $query = mysql_query( $sql );

                //$json = 'var dados = ';
                $json .= ' [';  
                if( mysql_num_rows( $query ) > 0 )
                {
                        while( $dados = mysql_fetch_assoc( $query ) )
                        {
                                $json .= "{nome: '{$dados['produto']}', preco: '{$dados['preco']}'}";;
                        }
                }
                else
                        $json = 'nome: não encontrado';

                $json .= ']';
                //$jston .= ';';

                return $json;
        }

/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['codigo']) )
{
        echo retorna( $_GET['codigo'] );
}
?>

ta desse jeitinho nao sei mais o que faze...

vlw por ajudar ae...

 

abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você apenas copiou o código que eu desenvolvi, assim não tenho como lhe ajudar.

Exatamente oque que você não sabe fazer?

 

Tentou? como? deu erro? qual ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu copei o seu codigo e fiz que nem no topico que eu tinha colocado no outro post...

fiz que nem tava escrito la mais eu digitei em um campo o dado que eu queria e nao retornou os outros campos... se você nao entendeu eu tento explicar um pouco melhor...

abrass e vlw mesmo ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se deu errado, é pq você fez errado.

Eu entendi amigo.. eu que fiz os scripts. Reveja o código, e tente entender ele.

 

Como está a tua tabela no banco de dados?

 

você deveria ter mudado isso aqui tb:

$("select[name='codigo']").change(function(){

Compartilhar este post


Link para o post
Compartilhar em outros sites

William eu axo que eu consegui entende mais eu nao axei nenhuma funcao no codigo que faça ao digitar o numero fazer a pesquisa e retornar o campo... entendeu??

 

o script do arquivo index.php ta assim:

<script type="text/javascript">
        $(document).ready(function(){
                $("select[name='codigo']").change(function(){
                        $("input[name='nome']").val('Carregando...');
                        $("input[name='preco']").val('Carregando...');

                        $.getJSON(
                                'function.php',
                                {codigo: $(this).val()},
                                function(data){
                                        $.each(data, function(i, obj){
                                                $("input[name='nome']").val(obj.nome);
                                                $("input[name='preco']").val(obj.preco);
                                        })
                                });
                });
        });
        </script>

Ja o Bd ta assim:

CREATE TABLE IF NOT EXISTS `vendas` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `data` datetime DEFAULT NULL,
  `idvendedor` int(11) DEFAULT NULL,
  `vendedor` varchar(100) DEFAULT NULL,
  `porcentagem` int(2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;

INSERT INTO `vendas` (`id`, `data`, `idvendedor`, `vendedor`, `porcentagem`) VALUES
(27, '2009-09-20 01:44:30', 38, 'Vitor Martinelli Braga', NULL),
(28, '2009-09-20 02:06:29', 38, 'Vitor Martinelli Braga', NULL),
(25, '2009-09-20 01:27:49', 38, 'Vitor Martinelli Braga', NULL);

vlw ae e desculpa o incoveniente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você postou a tabela errada.. pelo menos não bate com as informações que você tava tentando pegar antes.

Deixei funcionando para essa tabela ai.

<html>
<head>
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
			$("input[name='codigo']").change(function(){
					$("input[name='nome']").val('Carregando...');
					$("input[name='preco']").val('Carregando...');

					$.getJSON(
							'function.php',
							{codigo: $(this).val()},
							function(data){
									$.each(data, function(i, obj){
											$("input[name='nome']").val(obj.nome);
											$("input[name='preco']").val(obj.preco);
									})
							});
			});
	});
	</script>
</head>
<body>
        <form action="" method="post">
                <label>Código: <input type="text" name="codigo" /></label>
                <label>Nome: <input type="text" name="nome" value="" /></label>
                <label>Preço: <input type="text" name="preco" value="" /></label>

        </form>
</body>
</html>
e

<?php
	$con = mysql_connect('localhost', 'root', '123');
	mysql_select_db('test', $con);

	/**
	 * função que devolve em formato JSON os dados do cliente
	 */
	function retorna( $codigo=null )
	{
		$sql = "SELECT * FROM `vendas` ";
		if( $codigo != null )
				$sql .= "WHERE `id` = {$codigo} ";
			
		$query = mysql_query( $sql );
		
		$json .= ' [';  
		if( mysql_num_rows( $query ) > 0 )
		{
			while( $dados = mysql_fetch_assoc( $query ) ){
				$json .= "{nome: '{$dados['data']}', preco: '{$dados['vendedor']}'},";
			}
		}
		else
			$json .= 'nome: não encontrado';

		$json .= ']';

		return $json;
}

/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['codigo']) )
{
        echo retorna( $_GET['codigo'] );
}
?>

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.