[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