Ir para conteúdo

POWERED BY:

Arquivado

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

sacofrito

[Resolvido] Exibir dados no campo

Recommended Posts

Bom dia galera.

Alguem pode me ajudar com esta função?

Estou tentando exibir os dados do banco de dados ao onBlur de um input text.

Mas avisa erro na página em minha aplicação.

 

Segue meu código já existente.

 

Java script

<script LANGUAGE="Javascript">
function pesquisacliente(cpf){
	varnome = pesquisaclientephp(cpf);
	window.alert(varnome);
}

</script>

 

Meu input html

 

<td><input id="emprestimocpf_cliente" value="{cpf_cliente}" maxlength="20" name="{cpf_cliente_Name}" size="20" onBlur="pesquisacliente(this.value)"

 

 

 

PHP

 

<?php

function pesquisaclientephp($cpf){
$conexao = mysql_connect('localhost','root');
mysql_select_db('test',$conexao);
$sql = "SELECT razao from cliente where CPF_CLI =" . $cpf . ""

$consulta = mysql_query($sql, $conexao);
if ($consulta != 0){
	$consulta = mysql_fetch_array($consulta);
	$cpf = $consulta['razao'];
	return '$cpf';
{
else{

}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o conceito está errado.

 

oq você precisa usar para isso, se chama ajax. Pesquise por essa tecnologia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Willian,

Sim, eu sei que é AJAX(comunicação entre javascript e por exemplo o php).

Nao encontrei exemplos de como usar isto, entao estou tentando por mim mesmo.

Pode me passar algum site com exemplos desta técnica sendo aplicada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui fiz um exemplo básico com jQuery:

 

http://wbruno.com.br/blog/2009/08/14/verificar-se-usuario-ja-existe-no-banco/

 

 

tem mais alguns no meu blog.. até sem jQuery, apenas com js puro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e se eu quiser usar tudo isso em um mesmo arquivo, eu posso?

tecnicamente é possível, mas não é bom, pois fica bagunçado, e dificil de dar manutenção.

 

 

Se nao, como chamo uma função em outro arquivo?

? não entendi a sua dúvida.. está já dividido em vários arquivos.. se quiser q q função, fique num arquivo externo ao html, ai você usa a tag script, apontando o src para esse novo arquivo .js

 

era essa a dúvida ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos supor que eu tenho um arquivo chamado arq.php onde ficam minhas funções de operações no servidor.

E outro o meu html com o javascript "embutido" nele.

Vi uma linha do seu exemplo em como chamar outro arquivo pelo java script. Mas se eu chamar um arquivo e dentro dele uma função especifica.

 

Ex, quero chamar dentro de arq.php a function aaa

 

arq.php

 

function aaa(){

 

 

}

 

function bbbb(){

 

}

 

 

 

Tentei adaptar seu código deixando tudo no mesmo arquivo.(html, javascript e php)

Mas nao deu muito certo. Imagino que eu devo estar errando coisa boba e ao mesmo tempo grotesca, mas estou bem no começo mesmo,nao tenho experiencia nenhuma em desenv web

 

<script language="Javascript" type="text/javascript">
$(function(){
	$("input[name='{cpf_cliente_Name}']").onBlur( function(){
		var cpfcli = $("input[name='{cpf_cliente_Name}']").val();
		alert(cpfcli);
		$.post('Emprestimo.php',{cpfcli: cpfcli}, function pesquisaclientephp(data){
			$('#razao').html(data);
		});
	};
};
</script>

 

function pesquisaclientephp($cpf){ 
		$conexao= mysql_connect('localhost','root');
		mysql_select_db('test',$conexao); 
		$sql = "SELECT razao from cliente where CPF_CLI =" . $_POST['cpfcli'] . "" 
		$consulta = mysql_query($sql, $conexao); 
		if ($consulta !="0"){
			 $consulta= mysql_fetch_array($consulta);
			 $cpf= $consulta['razao']; 
			 return "$cpf"; 
	    { 
		else{ 
			return "Não encontrado";			
		} 
}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok.. programação básica.

 

veja:

function pesquisaclientephp($cpf){
  //corpo da função
}

 

nesse instante você declarou a função.

Para usar, você precisa chamar ela:

 

echo pesquisaclientephp( $_POST['cpfcli'] );

entendeu ?

remova o atributo language, ele não é necessário.

 

 

era isso, ne?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, eu sei que preciso chamá-la.

 

Acho que você nao entendeu direito minha dúvida.

 

No evento onblur do meu input eu chamo o javascript e ele sim chamara a função php, correto?

 

Como/onde coloco o echo dentro do javascript?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No evento onblur do meu input eu chamo o javascript e ele sim chamara a função php, correto?

quase isso.

 

 

Como/onde coloco o echo dentro do javascript?

não.

 

essa linha:

<?php
   echo pesquisaclientephp( $_POST['cpfcli'] );

você coloca em um arquivo, com apenas isso, entendeu ?

 

o js não chama a função php. O js, pega oque o php der echo. Ok ?

você que vai "chamar" o php, e o js vai visitar o arquivo php, como se fosse você. Mais ou menos isso.

 

 

tô pensando em outra forma de explicar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que entendi.

Ok, entao todas funçoes "chamadas" pelo javascript tem que terminar com echo e nao com return? Ou neste caso tanto faz?

 

Mais uma coisa, aqui

<?php 
   echo pesquisaclientephp( $_POST['cpfcli'] );

Voce aponta para a função, mas nao precisa especificar qual arquivo essa função está?

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa especificar em qual arquivo a função está sim.

 

ai é funcionamento normal do php.. você declara a função, e chama ela.

Sendo q você pode declarar ai mesmo, ou usar um include.

 

o único ponto sensível, é que o ajax, captura todo e qualquer output (por isso o echo), que tiver desse arquivo.

 

Tecnicamente, funções devem retornar dados. E na hora de usar, que fazemos o output deles.

Pois nem sempre precisamos apenas do output, por isso não colocamos "echo" dentro da declaração de funções.

 

 

Desculpe, não sei bem certo qual é "seu nível", então fico meio perdido sobre "oq preciso explicar ou não".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian, obrigado mesmo pela ajuda que tem dado. Estou entendendo sim.

 

Não havia pensado no include. Resolveria mesmo.

Bom, meu nivel é iniciante mesmo.

Comecei com php há 1 mes juntamente com html.

E agora vi necessdade de aprender o AJAX.

Fiz algumas paginas simples de cadastro de usuarios e tal.

 

Fora isso tenho alguma experiencia em programação desktop com vb6. Pelo que estou vendo se aproveita muito pouco.

 

Enfim, estou aplicando as alterações mas continua sem dar certo. Avisa no rodapé "Erro na página!"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... dá uma lida nesse post meu:

http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

 

Depois que terminar, instale o Firefox, ai você saberá melhor o motivo do erro.

O debug do ie é bem precário.

 

 

Cara.. você ta aproveitando mais da sua experiência com VB do q você imagina.. só essa "base" de lógica e programação básica, ja fazem muita diferença. Hoje em dia, muitos programadores que começam com php ou jQuery, não tem nem isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, uma boa ajuda aí.

Bom esta dando os seguintes erros agora.

 

Erro: pesquisacliente is not defined

Arquivo-fonte: http://localhost/Teste/Emprestimo.php

Linha: 1

 

 

Erro: $("input[name=cpf_cliente]").onBlur is not a function

Arquivo-fonte: http://localhost/Teste/Emprestimo.php

Linha: 16

 

 

Oque está errado aí? Nao posso usar o onblur?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro: pesquisacliente is not defined

qr dizer q você ta usando uma variavel q não foi definida.

Leia as linhas ao redor dela. Se tiver dúvidas, poste aqui.

 

 

 

Erro: $("input[name=cpf_cliente]").onBlur is not a function

aqui você ta usando uma função q não foi declarada.

 

Em jQuery, usamos apenas .blur e não .onBlur entendeu ?

 

 

jQuery é uma lib que "simplifica" o uso de javascript. Tô meio sem tempo de montar um exemplo de como seria com js puro.. mas digamos que "daria mais código" para fazer esse processo do ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian estou indo embora agora.

Obrigado pela força, vou continuar tentando na segunda-feira.

E vou tentando aplicar isto em casa no final de semana também.

Depois volto aqui no tópico mesmo.

 

Abraço, bom final de semana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa estou de volta.

Agora ha pouco consegui fazer o codigo exibir um alert.

Mas nao sei como retornar o valor da função

 

Está assim.

 

Meu script

 

<script type="text/javascript"> 
       function pesquisacliente(){ 
           //$("input[name='nomecliente']").onFocus( function(){ 
                   var cpfcli = $("input[name='{cpf_cliente_Name}']").val();
				alert(cpfcli); 
                   $.post('funcaopesquisacliente.php',{cpfcli: cpfcli}, function (data){ 
                           $('#razao').html(data); 
		    alert($('#razao').html(data));
                   }); 
          // }); 
	    }; 
</script>

 

Meu arquivo que chama a função.

<?php
include 'Emprestimo.php';
echo pesquisaclientephp($_POST['cpfcli']);
?>

 

Minha função php

 

function pesquisaclientephp($cpf){ 
$conexao= mysql_connect('localhost','root');
mysql_select_db('test',$conexao); 
$sql = "SELECT razao from cliente where CPF_CLI =" . $cpf . "";
$consulta = mysql_query($sql, $conexao); 
if ($consulta !="0"){ 
       $consulta= mysql_fetch_array($consulta); 
       $razao = $consulta['razao'];  
       //echo " $cpf"; 
	return $razao;
} 
else{ 
	echo "Nao encontrado" ; 
} 
}

 

O que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas nao sei como retornar o valor da função

qual função ?

e pra que retornar ?

 

O que pode estar errado?

depende.. qual a sua dúvida ? Oque deu errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe deixei incompleto o post.

 

Neste trecho

 

alert($('#razao').html(data));

 

Retorna "[object Object]" no alert.

 

Como faço para retornar o valor da minha função em php?

 

E para jogá-la em um input text(este é o motivo para retornar valor da função)?

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.