Ir para conteúdo

POWERED BY:

Arquivado

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

Andreia Regina

Busca de CEP em cadastro de usuário

Recommended Posts

Boa tarde,

 

faz tempo que não posto aqui, mas hoje preciso...

 

Tenho um script que faz busca a um banco de dados, tabela de endereços, onde verifica o CEP e traz os outros dados...

Esse script estava funcionando perfeitamente, mas de uma hora para outra não funciona mais corretamente, traz sempre o mesmo endereço...

Eu já testei enviando o formulário direto para o php e sem o jquery e funciona certinho, não sei mais o que fazer então recorro a vocês...

<script type="text/javascript">
$(document).ready(function(){
    var cep;
 
	$("#cep").blur(function(){//quando o usuario tirar o foco do campo executa essa função
		cep=$("#cep").val(); //recebe o valor do campo cep digitado pelo usuário
//alert("valor CEP ."+ cep);
		$.getJSON("http://www.dominio.com.br/consulta_endereco.php?cep="+cep, function(data) {
          		$("#endereco").val(data.endereco);              
          		$("#bairro").val(data.bairro);            
          		$("#cidade").val(data.cidade);
          		$("#estado").val(data.estado);               
          		$("#cod_cidade").val(data.cod_cidade);
          		$("#cod_cidade").val(data.cod_cidade);
          		$("#cod_endereco").val(data.cod_endereco);               
          		$('#numero').focus();
     	})//fim do jSON 
	})
})
</script>

O script que faz a busca no mysql é esse:

$cep = $_POST['cep'];
//echo $cep."<br />";
 
$sql="SELECT tb_endereco.cep,tb_endereco.endereco, tb_endereco.cod_endereco, tb_tipo_endereco.descricao, tb_bairros.cod_bairro,
tb_bairros.nome_bairro, tb_cidades.cod_cidade,tb_cidades.nome_cidade,tb_cidades.estado,tb_cidades.cep FROM tb_endereco
INNER JOIN tb_tipo_endereco ON(tb_endereco.cod_tipo_end=tb_tipo_endereco.cod_tipo_endereco)
INNER JOIN tb_cidades ON(tb_endereco.cod_cidade=tb_cidades.cod_cidade)
INNER JOIN tb_bairros ON(tb_endereco.cod_bairro=tb_bairros.cod_bairro) WHERE tb_endereco.cep='".$cep."' OR tb_cidades.cep='".$cep."'";
//echo $sql."<br />";
$sql=mysql_query($sql)  or die (mysql_error());

$reg=mysql_fetch_array($sql);
$dados['resultado']= mysql_num_rows($sql);
$dados['endereco'] = formatacao($reg["descricao"]. ' ' . $reg["endereco"]);
$dados['bairro']   = formatacao($reg["nome_bairro"]);
$dados['cidade']   = formatacao($reg["nome_cidade"]);
$dados['estado']   = strtoupper($reg["estado"]);
$dados['cod_cidade']  = $reg["cod_cidade"];
$dados['cod_bairro']  = $reg["cod_bairro"];
$dados['cod_endereco']= $reg["cod_endereco"];

echo json_encode($dados);

Já pesquisei no banco e ele não é o primeiro registro. E se eu busco sem ser via jquery ele mostra o valor correto na tela...

 

Agradeço desde já se alguém puder me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso está me cheirando a cache.

Além do CEP, passe, como parâmetro, um "sid", contendo um Math.random(). Assim não entrará em cache sua aplicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$.getJSON("http://www.dominio.com.br/consulta_endereco.php?sid="+Math.random()+"&cep="+cep, function(data)

Compartilhar este post


Link para o post
Compartilhar em outros sites

$.getJSON

envia um GET.

 

 

já no php

você esta ouvindo um $_POST.

 

$cep = $_POST['cep'];

 

na teoria é só alterar o trecho para

 

$cep = $_GET['cep'];

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

ainda não consegui resolver...

No console.log exibe este resultado (que está errado)

 

  1. bairro:"Jardim Marrocos "
  2. cidade:"Almirante Tamandare "
  3. endereco:"Rua A "
  4. estado:"PR"

 

Já enviando a mesma consulta para o mesmo arquivo php exibe corretamente:

 

{"endereco":"Rua America ","bairro":"Jardim Iracema ","cidade":"Almirante Tamandare ","estado":"PR"}

Também vou precisar implentar a busca de CEP tendo o endereço e se não consigo fazer este, imagino o outro... Já estão me cobrando, já tentei vários scripts que encontrei e funcionam, mas não implementando no meu sistema.

Agradeço quem puder ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seguimento do que disse o gabrieldarezzo, experimenta substituir a função $.getJSON por $.post.

 

Assim:

$.post("//www.dominio.com.br/consulta_endereco.php?cep="+cep, function(data) {

 

ele retorna com o mesmo "engano"

 

 

{"endereco":"Rua A ","bairro":"Jardim Marrocos ","cidade":"Almirante Tamandare ","estado":"PR"}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entre minhas pesquisas e tentativas, usei o get e coloquei o }, "json"); no final da função e funcionou.

 

Eu havia testado igualzinho com o .post mas não funcionou. Alguém sabe me explicar por que?

 

Agradeço a todos que tentaram me ajudar e me ajudaram!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
×

Informação importante

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