Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Muitos dos bancos de dados de cidades que encontrei na Internet não tinham acentuação. Porém, encontrei este script, que satisfez a quase todas as minhas necessidades.
Fiz alguns ajustes no banco de dados, criei o arquivo de instalação e as funções PHP e JavaScript, para o funcionamento correto do sistema.
Desenvolvi para PHP 5, com a extensão MySQLi habilitada.
Como o banco de dados é enorme, não postarei o código.
O download pode ser feito aqui:
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/>
Abraços,
Beraldo
Obrigado, Giusepe. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/>
Quanto ao seu sistema de menus, veja este artigo:
http://www.tmferreira.com.br/blog/2007/07/...-um-erro-comum/
Dê uma olhada, também, na categoria Menu daqui do Laboratório de Scripts. Há mais exemplos.
Abraços,
Beraldo
Opa beraldo, eu converti o seu script para mysql para uso proprio, você autoriza eu postar aqui a versão modificada?
Mas o sistema usa mysql... :unsure:/>
Enfim, fique à vontade para postar as alterações. O código-fonte é livre! :D/>
[]s
Beraldo
Sim, só que usa a lib mysqli, coisa que alguns servidores não tem disponível.
Bom agora não estou em casa assim que chegar eu posto aqui.
Sim, só que usa a lib mysqli, coisa que alguns servidores não tem disponível.
Ah, entendi.Preferi fazer com a extensão MySQLi para estimular o uso dela.
Mas fique à vontade para alterar o script e postá-lo aqui.
[]s
Beraldo
De volta pra casa..
Aqui segue o script:
http://rapidshare.com/files/132627162/cida...stados.zip.html
Tentei deichar o mais próximo do original.
Assim que meu dedidcado voltar eu coloco outro mirror(link) aqui.
Parabéns Beraldo! De grande valia seu script. Funciona perfeitamente.
Beraldo,
Estou tentando adaptar seu script para meu sistema. Não entendo de Ajax. Inclusive o Dani Piresk está me ajudando nisso (o moleque é fera).
Bom, acontece que nesse seu script cada coisa está num arquivo separado. Juntei tudo num arquivo só e não funciona. Se eu junto todos, menos o "funcoes.php" ele funciona beleza. É possível fazer com que junte tudo? Qual adaptação necessária para isso?
Veja, para a minha realidade (que deve ser a de todos os sistemas tb) você tem a UF, a Cidade e outros muitos campos para selecionar. Eu estou com dificuldade justamente para juntar isso, até porque, por exemplo no meu caso, as funcoes de Update e/ou Insert estão juntas no mesmo formulario.
Ficaria muito grato se você me desse uma orientação. Acredito que tal orientação ajudaria muitas outras pessoas também.
Anderson.
andersonbortolai@gmail.com
O arquivo funcoes.js realiza as ações de busca. Para isso usa um arquivo XML, que é gerado dinamicamente pelo funcoes.php, que atua como o próprio arquivo XML. Veja a função header(), que é responsável por isso.
Por que você quer juntar tudo? Isso não dará certo. O máximo que dará para juntar são os dois arquivos JavaScript.
Dê uma estudada nos tópicos sobre Ajax aqui do Laboratório de Scripts.
[]s
Beraldo
Pois é, foi oque eu lhe falei Anderson.
Não tem como mesmo.
Ok
Estou tentando adaptar à minha realidade.
Grato.
Ok, funcionou.
Usei este script no meu formulario para INSERIR as informacoes no Banco de Dados. Até aí beleza.
Agora estou fazendo o formulario de EDITAR de uma determinada linha de uma determinada tabela do BD e preciso retornar os valores do Estado e Cidade usando este Script.
Onde eu altero o Script para conseguir editar?
Grato
Anderson
Você tem que selecionar o estado e a cidade salvos no BD. Também terá de editar o script de forma a inserir o atributo selected="true" quando a cidade e o estado do loop de preenchimento forem iguais aos retornados pelo BD.
[]s
Beraldo
Beraldo,
Antes de tudo agradeço sua prontidão em me responder.
Sobre minha dúvida, eu fiz uma "gambiarra" alterando o código do Javascript, ficando dessa forma:
1.) Estados
Onde era:
opcao.appendChild(document.createTextNode('Selecone'));
Eu coloquei:
opcao.appendChild(document.createTextNode('<?php echo $linha["ufs"]; ?>'));
2.) Cidades
No formulário eu acrescentei apenas:
<option><?php echo $linha["cidade"]; ?></option>
Funcionar funciona. Porém não da maneira correta.
Eu entendi o que você falou pra dar o select e igualar relativamente ao Banco. Em PHP eu faço isso numa boa, quando é o caso, mas confesso que neste caso estou bastante em dúvida, pois o script utiliza Javascript e Ajax, linguagens que não domino ainda, apesar de estar estudando-as.
Você poderia me dar uma luz para que realmente o script fique como tem que ser (na parte de Editar)?
Grato
Anderson
O que você pode fazer é alterar as funções JS bsuca_estado() e busca_cidade(), passando os valores do estado e da cidade como parâmetros. Depois, dentro do loop que percore o XML, crie um IF que verifica se o ID da cidade/estado corrente é o mesmo do passado por parâmetro. Se for, chame setAttribute() mais uma vez, definindo o valor de "selected" para "true"
Muito show!
Vlw Beraldo.
Gostei mt da ideia do script, entretanto a unica coisa que ele aparece para mim é selecione no campo do estado sem aparecer nenhum estado e no campo da cidade para escolher o estado primeiro.... gostaria de saber como posso solucionar isso.... é como se ele não tivesse fzd a pesquisa no bd ou algo do tipo... nao entendo de AJAX.... nem de XML... sou um iniciante em php... alguém sabe como resolver isso? utilizo o PHP + IIS 7.0 com FastCGI + MySQL..
Tentei utilizar o script interagindo com um sistema q estou fzd e tbm tentei utiliza-lo da forma como estava.... em ambos os casos tive o msm problema....
Perdão por postar duas vezes, alguém pode apagar esse post?
Grato.
Olá Beraldo!
Em primeiro lugar, meus parabéns pelo script, procurei por um bom tempinho e não tinha encontrado nada tão funcional... Meus parabéns mesmo!
E é o seguinte... Tenho uma pequena dúvida...
Fiz algumas modificações nos outros arquivos, mas aparentemente o problema está aqui:
$uf = isset($_GET['uf']) ? $_GET['uf'] : 'PR';
$sql = $MySQLi->query('Select uf, nome From cidades Where uf = ' . $uf . ' Order By nome ASC');
Criei um campo com o nome de uf...
E parece esse Select não aceita... Ou será que sou eu que fiz algo de errado?
Eu estou fazendo uns testes aqui, e parece que ele não está aceitando... Agora não sei se sou eu que não estou conseguindo ;~
Qualquer coisa, postarei os outros aquivos aqui :)/>
Abraço
Tente assim:
$sql = $MySQLi->query("Select uf, nome From cidades Where uf = '" . $uf . "' Order By nome ASC");Desse jeito também não deu ;~
mas eu consegui fazer de outra maneira ;D
E só mais uma dúvida...
O que você pode fazer é alterar as funções JS bsuca_estado() e busca_cidade(), passando os valores do estado e da cidade como parâmetros. Depois, dentro do loop que percore o XML, crie um IF que verifica se o ID da cidade/estado corrente é o mesmo do passado por parâmetro. Se for, chame setAttribute() mais uma vez, definindo o valor de "selected" para "true"
Na prática, como ficaria? ;x
Obrigado.
function montar($opcao, $vetor)
{
$tam = count($vetor);
for ($i = 0; $i < $tam; $i++)
{
if ($vetor['nome'] == $opcao) { mostrar o option com a opção checked em TRUE }
else { mostrar o option sem o checked }
}
}Parabéns Beraldo estava precisando de um script deste, testei vários e muitos davam erros, o seu foi perfeito encaixou como uma luva, agora só vou incremetar mais um campo de especialidades médicas e tudo resolvido.
Beraldo, Fábio, Hinom e Alaerte Grandes mestres que ajudam a todos na medida do possível!!!
Abraços a todos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/>
Olá Beraldo, amigo nunca peguei um script e instalei sem nenhum problema, foi show de bola.http://forum.imasters.com.br/public/style_emoticons/default/clap.gif/> Agora estou estudando para aprender, estava procurando há muito como fazer esse menu e não conseguia. Agora a questão é... preciso saber fazer um que atenda o que necessito - Preciso de um menu para categoria e suas sub-categorias, já até comecei a olhar e com tudo, minha pouca experiencia não está permitindo ainda. Não sei nem por onde começar... Sou novato em php, bd e mais ainda em ajax.
Por onde começo, digo quais parametros tenho que estudar e mudar. Vou ver se posto depois alguma coisa que tentei.
Obrigado mesmo. Depois vou dar uma olhada nos outros scripts que você postou. Se todos forem assim fácil de fazer funcionar.
Boa semana! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/>
Giuseppe