Select de Estados, Cidades e Bairros com Ajax, Php e Mysql

3,574 views
Skip to first unread message

Júlio Cavalcanti

unread,
Apr 12, 2011, 2:25:45 PM4/12/11
to php-b...@googlegroups.com
Olá, estou precisando urgente de um pacote com o código em Ajax e PHP que liste num select todos os estados brasileiros, ao selecionar um estado, o select de cidades ser preenchido com as cidades do estado selecionado, dai ao selecionar uma cidade, o select de bairro ser preenchido com os bairros da cidade selecionada. E todos esses dados estarem num bd MySQL.

Alguém consegue isso pronto pra mim? Obrigado.

Júlio Cavalcanti 
[ Designer / Desenvolvedor Web ] 

:: www.juliocavalcanti.com :: 

Email: con...@juliocavalcanti.com
Gmail: juli...@gmail.com

Recife - PE 

"Bem-aventurados os limpos de coração, porque verão a Deus." (Mateus 5:8)

Paulo Amigoni

unread,
Apr 12, 2011, 2:30:30 PM4/12/11
to php-b...@googlegroups.com
Eu tenho 
tenho que procurar para te passar 


--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

Caleb

unread,
Apr 12, 2011, 2:43:38 PM4/12/11
to php-b...@googlegroups.com
Oi Paulo,
deixa eu pegar uma carona aí no email do Julio... seria pedir demais você disponibilizar para mim também? Pode mandar em pvt calb...@gmail.com

muitíssimo grato, camarada
Abraço, Caleb

Paulo Amigoni

unread,
Apr 12, 2011, 3:41:59 PM4/12/11
to php-b...@googlegroups.com
Galera só vou poder mandar a noite
sem problemas?

Lucas Rosa

unread,
Apr 12, 2011, 2:54:48 PM4/12/11
to php-b...@googlegroups.com
Opa, já indo na mesma onda, se for possível alguem passe a tabela dos Correios atualizada ??

(:

Laécyo Marcello Araújo Moura

unread,
Apr 12, 2011, 7:47:13 PM4/12/11
to php-b...@googlegroups.com

Tenho estado e cidade já bairro e pouco complicado, pois as cidades quase todos os dias são adicionados novos bairros... Mais se tiver interesse posso te mandar?

Agradece Laécyo Marcello
Tecnólogo em Processamento de Dados - AESPI
Especialista em Engenharia de Software - CEUT
Professor -Tutor Bacharel em  Sistemas de Informação  UFPI-UAPI
Coordenador de Desenvolvimento - Inforgeneses
Google talk - laecyomarcello


Paulo Amigoni

unread,
Apr 12, 2011, 9:33:54 PM4/12/11
to php-b...@googlegroups.com
To mandando o q eu tenho
ta em anexo
cidades.rar

Caleb Pedroso

unread,
Apr 13, 2011, 6:10:57 AM4/13/11
to php-b...@googlegroups.com
obrigado Paulo
bom dia procê :)

Eduardo Alexandre

unread,
Apr 13, 2011, 6:38:07 AM4/13/11
to php-b...@googlegroups.com
Olá Paulo,

Obrigado por compartilhar!

Abraços,
____________________
Eduardo Alexandre

felipe moraes

unread,
Apr 13, 2011, 10:57:16 AM4/13/11
to php-b...@googlegroups.com
Apesar da tabela dos correios ser otimizada .. e já conter o nome das cidades, ceps, etc .. 

Eu não a utilizo .. pois não gosto das tabelas dele .. só usaria através de um webservice ;(

 .. faço o bom e velho .. estados->cidades->bairros | endereços ->fim

Então, respondendo ao Júlio ..

No seu controller de cidades .. vc simplesmente vai buscar todas as cidades de um estado e vai passar o json via ajax.

public function action_cidades()
{
$estado = $_POST['estado'];
$cidades = ORM::factory('estado', $estado)
->cidades
->order_by('cidades.nome')
->find_all();
if($cidades->count())
{
foreach($cidades as $cidade):
$c[] = array('id' => $cidade->id, 'nome' => $cidade->nome);
endforeach;
echo json_encode($c);
}
exit();
}

E o código jquery que solicita isso é este abaixo:

$(function(){
$("#estado").change(function(){
id = this.value;
$.post(
'<?php echo Url::site('estado/cidades'); ?>',
{estado : id},
function(data){
if(data)
{
$.each(data, function(){
var option = $('<option>');
option.val(this.id);
option.html(this.nome);
$('#cidade').append(option);
});
}
else {
$('#cidade').html('');
}
},
'json'
);
});
});


Como pode perceber .. se trata apenas de um .. onChange .. e AjaxPost

O Html ..

<select id="estado" name="estado">
<option value="0">Selecione um Estado</option>
</select>

id para pegar pelo jquery .. e name para o form

É só adaptar a sua necessidade
Reply all
Reply to author
Forward
0 new messages