[Cascavel-pm] CEP

Carlos Augusto carlos.augusto em d2d.com.br
Quarta Outubro 27 08:56:44 CDT 2004


Luis Campos de Carvalho escreveu:

>>     *From:* Er Galvão Abbott - PM Porto Alegre 
>> <mailto:pmpoa em galvao.eti.br>
>>     *Sent:* Tuesday, October 26, 2004 7:56 PM
>>
>>     Amigos monges:
>>
>>     Alguém teria alguma experiência com busca automática de CEP para
>>     cadastros?
>>
>>     Estou precisando fazer um cadastro que preencherá dados de endereço
>>     (logradouro, cidade, etc...) baseado na busca do CEP, só que nunca
>>     desenvolvi nada parecido.
>>
>>     Eu vi que no site dos correios
>>     (http://www.correios.com.br/servicos/cep/cep_coloque.cfm) existe uma
>>     forma de colocar a busca no site, mas queria algo que me desse mais
>>     liberdade, pois preciso pegar os dados retornados e preencher os 
>> campos.
>>
>>     Alguém pode dar uma mão?
>>
>
>   Galvão,
>
>   Os Correios Brasileiros oferecem (ofereciam?) a base de dados 
> *completa* de CEPs nacionais para download.
>
>   Você precisa incluir os dados normalizados em uma tabela do seu 
> banco de dados, e usar os métodos de acesso tradicionais para fazer 
> pesquisas e recuperar informações.
>
>   Se você espera obter tipo de logradouro, nome do logradouro, bairro, 
> cidade e estado através do CEP, tudo vai bem. No sentido contrário 
> (através do nome do logradouro, obter o CEP) as coisas podem complicar 
> um pouco, por causa dos erros de grafia dos nomes. Mas isto pode ser 
> contornado com um módulo Perl para calcular SOUNDEX (veja "The Art of 
> Computer Programming", do D. Knuth, para saber mais sobre SOUNDEX).
>
>   O Módulo é este aqui:
>
>   http://search.cpan.org/author/NWCLARK/perl-5.8.5/lib/Text/Soundex.pm
>
>   Espero que isso ajude...
>   Putamplexos, e boa sorte!

Comecei a programar a pouco tempo e tive q fazer algo parecido, mas eu 
use o banco de dados GPB(guia postal brasileiro) que a empresa já 
possuia em seu banco.


                       ($unico)=$conexao->selectrow_array("select 
count(*) from gpb.log_localidade where cep=?",undef,$cep);
                              if($unico!=0)
                                 {
                                  $erro="CEP Único";
                                  }
                                       
                       $cep=$query->param('cep');
                      ($invalido)=$conexao->selectrow_array("select 
count(*) from gpb.log_localidade where cep=?",undef,$cep);   
                       ($invalido)=$conexao->selectrow_array("select 
count(*) from gpb.log_logradouro where cep=?",undef,$cep) unless $invalido;
                      
                       if($invalido==0)
                          {
                           $erro="CEP Inválido";
                          }   
                                                      
                     
($log_nome,$ufe_sg)=$conexao->selectrow_array("select log_nome,ufe_sg 
from gpb.log_logradouro where cep=?",undef,$cep);
                     ($bai_no)=$conexao->selectrow_array("select bai_no 
from gpb.log_bairro,gpb.log_logradouro where 
log_bairro.bai_nu_sequencial=log_logradouro.bai_nu_sequencial_ini and 
cep=?",undef,$cep);
                     ($loc_no)=$conexao->selectrow_array("select loc_no 
from gpb.log_localidade,gpb.log_logradouro where log_logradouro.cep=? 
and 
log_logradouro.loc_nu_sequencial=log_localidade.loc_nu_sequencial",undef,$cep);

                   $log_nome=~s/ - de .*//; 
                   $log_nome=~s/ - at. .*//;
                               
                   $log_nome=uc($log_nome);  #coloca em maiúscula
                   $bai_no=uc($bai_no);
                   $loc_no=uc($loc_no);

                  print "<table width=760 valign=top>";
                  print "<tr bgcolor=#f0f0f0><td 
colspan=4><b>Endereço</tr>";
                  print "<tr bgcolor=#f0f0f0><td colspan=4><input 
type=text name=log_nome size=50 value='$log_nome' onkeypress='return 
enter_to_tab(this,event)'></tr>";
                  print "<tr bgcolor=#f0f0f0><td colspan=4><b>Bairro</tr>";
                  print "<tr bgcolor=#f0f0f0><td colspan=4><input 
type=text name=bai_no size=20 value='$bai_no' onkeypress='return 
enter_to_tab(this,event)'></tr>";
                  print "<tr 
bgcolor=#f0f0f0><td><b>Cidade<td><b>UF<td><b>CEP</tr>";
                  print "<tr bgcolor=#f0f0f0><td><input type=text 
name=loc_no size=20 value='$loc_no' onkeypress='return 
enter_to_tab(this,event)'>
                   <td><input type=text name=ufe_sg maxlength=2 size=2 
value='$ufe_sg' onkeypress='return enter_to_tab(this,event)'><td>$cep</tr>";
                   print "<tr bgcolor=#f0f0f0><td colspan=3><input 
type=submit name=conf value=Confirma></tr>";
                                            print "</table>";

-- 
*Door to Door Logística e Distribuição*
Carlos Augusto Aguiar
Sistemas
F:(55) 11 4161-7761
e-mail:carlos.augusto em d2d.com.br
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/archives/cascavel-pm/attachments/20041027/4432d71c/attachment-0001.htm


Mais detalhes sobre a lista de discussão Cascavel-pm