MC
UTILIZANDO CEP "NÃO" CORREIOS
Novamente os Correios Brasileiros alteraram a forma para a busca de CEP's em sua Base de Dados, como alternativa deixo abaixo um código para
substituir em seus formulários.
Comentando o Código:
Como podem ver trata-se de um função que através de um link traz um "$resultado"
$param['PRO_CEP'] - é um campo TEntry criado para a digitação do CEP
PRO_CEP e outros parecidos são os campos que receberão as informações de retorno.
form_TblProprietario é o nome dado ao meu Formulário $this->form = new TForm('form_TblProprietario');
Espero ter ajudado.
Abraços
substituir em seus formulários.
Comentando o Código:
Como podem ver trata-se de um função que através de um link traz um "$resultado"
$param['PRO_CEP'] - é um campo TEntry criado para a digitação do CEP
PRO_CEP e outros parecidos são os campos que receberão as informações de retorno.
form_TblProprietario é o nome dado ao meu Formulário $this->form = new TForm('form_TblProprietario');
- <?php
- /*
- * Função de busca de Endereço pelo CEP
- * - Desenvolvido Felipe Olivaes para ajaxbox.com.br
- * - Utilizando WebService de CEP da republicavirtual.com.br
- */
- public function onCep($param)
- {
- $resultado = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($param['PRO_CEP']).'&formato=query_string');
- if(!$resultado){
- $resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep";
- }
- parse_str($resultado, $retorno);
- $obj = new StdClass;
- $obj->PRO_CEP = $param['PRO_CEP'];
- $obj->PRO_ENDERECO = strtoupper( $retorno['tipo_logradouro'].' '.$retorno['logradouro']);
- $obj->PRO_BAIRRO = strtoupper( $retorno['bairro']);
- $obj->PRO_CIDADE = strtoupper( $retorno['cidade']);
- $obj->PRO_UF = strtoupper( $retorno['uf']);
- TForm::sendData('form_TblProprietario', $obj);
- }
- ?>
Espero ter ajudado.
Abraços
Show de bola Marcos!!
Parabéns!!!
Marco,
Tipo de coisa muito util pra quem desenvolve.
Obrigado pela sua postagem.
Bom dia
Vocês poderiam compartilhar o formulário funcionando? Estou iniciando no adianti, e não estou conseguindo implementar... Obrigado
Bom dia
Vocês poderiam compartilhar o formulário funcionando? Estou iniciando no adianti, e não estou conseguindo implementar... Obrigado
Criei um teste da seguinte forma antes de aplicar no meu form.
Mandei o código errado... :(
galera funcionou.... não havia colocado o nome do form na função....
Rodrigo, você conseguiu ???
Os nomes dos campos e do formulário você pode alterar da forma que quiser, desde que siga a regra onde o retorno
da função também tenha os mesmos nomes.,
Abraços
Prezados, vi que este metodo pega mais atual, o outro site esta antigo.
Devido a forma q ele retorna, alguem sabe como fazer para usar este site?
https://viacep.com.br/ws/13347394/json/
( o cep vai no lugar do 13347394)
Abraços
Rafah Cardoso, boas.
Segue abaixo um dos códigos possíveis conforme o site dos mesmos.
Uma função que retorna (False) caso o CEP não exista, branco ou inválido
ou
uma array com as informações.
Espero ter ajudado.
Muito bom !!!!
E como eu faria para preencher os campos do meu formulário no adianti? Digitando o cep, clicando no botao e o botao executando a função e preenchendo os campos?
Grato
Rafah Carcoso, boas
Vc poderia usar o exemplo do Rodrigo Machado é lógico fazendo as devidas adaptações (usando o meu ultimo exemplo), neste caso a função iria dentro do form
ou criar uma classe "GERAL" onde você poderia colocar varias funções suas e chama-las dentro do formulário.
neste caso ficaria algo deste tipo:
OBS - No meu exemplo acima a função BuscaCep($Cep) fica numa classe TGeral (Classe criada que contem varias funções)
O que muda é que a função dentro TGeral posso me referenciar a ela em qualquer lugar ou seja, ela se torna reaproveitável.