Ir para conteúdo

POWERED BY:

Arquivado

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

Charles MTBROKER

Carregar campo do BD para input após SELECT OPTION

Recommended Posts

Olá amigos.

 

Estou desenvolvendo grandes coisas com PHP ainda sem ter experimentado o AJAX.

Me deparei com um problema que no clipper tirava de letra e que no PHP estou tendo dificuldades.

 

O CASO:

 

Populei um SELECT OPTION com os nomes dos clientes de uma tabela.

Quando o usuario escolhe um cliente da lista pelo nome, uso uma função javascript para pegar o valor do select, que no caso é o CÓDIGO DO CLIENTE.

 

No local do INPUT do nome do cliente, chamo a função em php:

function pegacliente_01() {
	include '../conexaomysql/conecta.php';
	$query = "SELECT * FROM clientes ORDER BY RAZAOSOC ASC";
	$query = mysql_query($query);
	echo '<select name="_RAZAOSOC" class="campos" onchange="aplicaValor(this.value)">';
	while($dados = mysql_fetch_array($query))
	{
	//mostrando eles (dados) em forma de options
	echo '<option value='.$dados['COD_CLI'].'>'.($dados['RAZAOSOC']).'-'.str_pad($dados['COD_CLI'],6,"0",str_pad_left).'</option>';
	}
}

Ele me retorna o CÓDIGO DO CLIENTE. Até ai tudo bem.

 

Como no meu select eu tinha

onchange="aplicaValor(this.value)"
, cada vez que o usuário escolher uma opção pelo nome do cliente,ele executa a função aplicaValor.

<script type="text/javascript">
	function aplicaValor(valor){
		document.getElementById('_COD_CLI').value = valor;
		document.getElementById('_IE').value = valor;
		document.getElementById('_CNPJ').value = valor;
		document.getElementById('_ENDERECO').value = valor;
		document.getElementById('_CIDADE').value = valor;
		document.getElementById('_ESTADO').value = valor;
		document.getElementById('_CEP').value = valor;
	}
</script>

Entao: Todos os campos citados na função estão sendo preenchidos com o valor pego no SELECT que chamei de valor.

 

O PROBLEMA:

 

Preciso substituir a variável javascript VALOR por uma função PHP que busque o cliente no banco de dados e traga seus dados.

Fiz da seguinte forma (função em php):

 

function pegacliente00($cliente,$campo) {
	include '../conexaomysql/conecta.php';
	$query = "SELECT * FROM clientes ORDER BY RAZAOSOC ASC";
	$query = mysql_query($query);
	$linha = mysql_fetch_assoc($query);
	return $linha['$campo'];
}

No local da variavel javascript valor, a chamo via php:

<? pegacliente00(echo '<script>document.write(valor)</script>','IE');?>

OCORRE QUE QUANDO A PÁGINA É EXECUTADA, O VALOR DESSA CHAMADA DE FUNÇÃO É SEMPRE " " (nada).

 

Já pesquisei tudo que consegui e nao tive êxito.

 

Alguem pode ajudar?

 

Grande e fraterno abraço a todos.

 

CHARLES PANTOJA

www.mtbroker.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que eu nao esteja sabendo interagir com as variáveis em javascript e em php, ou então o que busco fazer não seja mesmo possível do lado do cliente, apesar de eu estar chamando a função que executa a consulta do lado do servidor.

 

Realmente isso estáme deixando chateado.

 

Já vi scripts em ajax que resolviam o problema, mas imagino que algo comum possa ser feito em php simples não?

 

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso chamar uma função de pesquisa em PHP de dentro de uma função javascript.

Esta funçãojavascript está sendo ativada com ONchange dentro de um form.

 

Mudou no form, a pesquisa tem de acontecer e voltar os valores para os outros campos input.

 

Melhorou?

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem ajax quase impossivel disparar a função PHP no onchange (teria que ter uma gigante gambiarra).

Faz com ajax mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem ajax quase impossivel disparar a função PHP no onchange (teria que ter uma gigante gambiarra).

Faz com ajax mesmo...

Entendi Eibon.

O problema é justamente este.

Estou em aprendizado. O script em AJAX eu copiei. Fiz rodar. Mas nao gostei.

E se tem como fazer em php direto, porque nao tentar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque como você quer,teria que ser uma gambiarra gigantesca,grotesca e horrenda.

Vamos esperar outros opinarem... ;]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal.. vamos esperar..

 

Pelo que entendi da conversa, quando aciono a function do PHP de dentro do javascript ele nao tem como executar esse comando,é isso? Por essa razão o resultado é sempre vazio?

 

é a resposta plausível pra entender...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não não...a sua chamada a função também ta totalmente errada.

Você teria que passar a váriavel do JS para algum lugar onde o PHP tenha acesso (cookies,url,etc),e a pegar normalmente.

E mesmo arrumando,você não alcançaria o objetivo almejado apenas fazendo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi.

 

Quando passamos a variavel clicando no submit, elas vao via get ou post. aí dá pra trabalhar e fazer o que quiser.

Ocorre que sem clicar no botao enviar, nao vai ter como.

 

Por isso voce sugere que seja feito com ajax.

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.