Publicado em 25 Mai 2009 | 9,050 visualizações

PHP - Combo dinâmico com php e JQuery

* * * ½   16 votos

Salve Amigos do Mxmasters, David CHC, em mais uma video aula de PHP. Nessa video aula iremos aprender a fazer um combo dinâmico, alimentando o select com estados e mostrando dinamicamente com ajax, usando jquery, as cidades de acordo com estado. E de quebra vocês irei indicar um arquivo sql com mais de 9715 registros com cidades e estados.

Tenham uma boa Video aula.

Bookmark e Compartilhe

Tags: , , , , , ,




Opinião do internauta - 99 Comentários

  1. Felipe CardozoNo Gravatar
    Sensacional!
    Vai ajudar muita gente!
  2. João Paulo VasconcelosNo Gravatar
    Hum… vou ver a video aula pra ver se ficou bom
    huauhauhuha
    :D
  3. João Paulo VasconcelosNo Gravatar
    Ficou boa mesmo… parabens mano muito bom!!!
    mxmasters rulando na net :)
  4. Lautaro-Argentina-sud amérciaNo Gravatar
    Salve salve,David show de bola, muito bom mesmmo.
    Vc, e o novo gurú php do mx-masters comunity-
    Brigado vc, muito brigado.
    Parabens pra ttodus e fiquem com deus.
  5. Gabriel de Faria CorrêaNo Gravatar
    Realmente muito bom! Vou utilizar em todos os meus formulários de cadastro. Vlw mesmo!
  6. XavierNo Gravatar
    Muito Boa!!!
  7. marcioNo Gravatar
    boa tarde.. mas o video naum qer aparecer….
  8. AlexandreNo Gravatar
    Sem palavras…

    Show, show, show show, shoooowwwwww!!!!!!!

  9. Julio CesarNo Gravatar
    Putz… Não tenho nem o que comentar… muito show.
    Sem duvida nenhuma esse é um bom professor ou melhor ótimo… Parabens.
    Ótimo conteúdo, explicação show.
  10. Rafael AvlisNo Gravatar
    Video Aula show de bola, vai ajudar muita gente viu.
    Parabens!!!
  11. Hugo LuizNo Gravatar
    Muito bom. Gostei da explicação, bem caprichado o vídeo. Parabéns David, excelente aula. Brigaduuuu
  12. ÁtilaNo Gravatar
    SHOW DE BOLA MAN, VAI AJUDAR A MUITAS PESSOAS POR AI!!!!!!
    MESMO SEM TER AUDIO NO PC DO TRAMPO EU COMSEGUI INTENDER…..
  13. Luiz GomesNo Gravatar
    Aula show, gosto cada vez mais do conteúdo MX, parabéns David, o problema “ou melhor a solução” é que estou ficando viciado no MXMASTERS. Parabéns a todos da equipe.
  14. Sergio AraujoNo Gravatar
    Grande David

    Parabens pela video, estava realmente excelente, olha eu realmente não sabia que o jquery ajudava tanto assim na programação, fiquei surpreso em ver isso.

    Bom agora vc poderia mostrar algo como fazer para que ao digitar o cep os campos relacionados sejam pr4eenchidos automaticamente, fica como uma ideia pois tem muita gente que deseja aprender isso inclusive eu.

    Abraços

  15. RobertoNo Gravatar
    Você em vez de utilizar a função htmlentities você poderia ter usado o código html de a com til q é: Não

    O resto será muito útil para mim.

    Inté

  16. David CHCNo Gravatar
    Roberto poderia escrever HTML Entities, mas o q a função faz é isso, transformar caracteres especial em seu codigo referente. Eu decidi fazer dessa maneira, pq se vc estiver usando banco de dados, e tivesse problema com nome vindo do banco de dados, não daria pra apenas escrever, por isso eu usei htmlentities pra já prevenir possiveis erros q possam ocorrer.
  17. marcusNo Gravatar
    não deu certo eu seleciono o estado mais não aparece a cidade pra eu selecionar!
  18. David CHCNo Gravatar
    Marcus dá uma olhada no código postado no forum, veja na descrição da video aula, e clique em Visualizar script da vídeo aulas. Confira o código e veja se vc fez da mesma maneira.
  19. Francisco LealNo Gravatar
    Muito fera o video, ta otimo, mas gostaria de saber se tem como eu replica-la em 4 por exemplo… Alguém ae me da uma luz!!
  20. Tutorial CityNo Gravatar
    Por que selecionar todos os campos da tabela ‘estados’/'cidades’ se vc só usou efetivamente a ‘id’ e o ‘nome’? isso aumenta o tempo de execução do código. É uma boa prática você selecionar somente o que vai usar.
    Também não é uma boa prática inserir html dentro do PHP. Pra solucionar o caso do til bastava usar a entidade ‘ã’, mas a função ‘htmlentities’ é melhor de uma maneira geral, porque faz vc nao se preocupar com esse detalhe.

    Legal pra caramba o tutorial, só acho uma pena que tenha usado o Dreamweaver, que formata pessimamente o código (principalmente o jQuery).

    Abraços ;)

  21. David CHCNo Gravatar
    Francisco Leal, vc vai usar o mesmo codigo usado com jquery, basta trocar o select’s, e os arquivos q farão a busca

    Tutorial City, sobre a seleção dos campos , isso verdade, eu poderia apenas selecionar os campos q iria usar, mas fiz dessa maneira pra ficar facil das pessoas fazerem, mas com certeza pra um melhor desempenho, a sua sugestão é perfeita. Sobre o htmlentities, já tinha falado em um comentário acima, fiz com ele pra previnir não aquela parte q deu problema, mas problemas vindo do banco de dados, q é bem comum ocorrer.

    Não tenho problemas com Dreamweaver, eu uso ele como editor de código. Com a maioria q frequenta o mxmasters usa, eu adotei ele pra fazer as video aulas. Eu uso para o PHP o Zend Studio, e as vezes, uso PHP Designer e tbm o NotePad++

    O público maior do mxmasters, é quem tá começando, então, usar certas convenções pode atrapalhar o aprendizado das pessoas. O intuito da video aula é incentivar a pessoa a buscar mais. A video aula não é o fim do aprendizado, e sim o começo. E a partir dai, buscarem melhores práticas.

    Vlw pelo comentário, tendo outras sugestões e observações, é só postar.

  22. Tutorial CityNo Gravatar
    @David CHC
    Eu tenho certeza absoluta que o Dreamweaver é uma IDE fantástica, mas eu brigo muito com vários iniciantes que tentam usa-la. É mais fácil para um iniciante criar um site usando o Dw? a resposta é ‘depende’. Depende se ele quer um site bem feito ou não. Já reparei que o Dw esconde muitos erros, que para iniciantes é uma péssima noticia, já que é exatamente nesses erros que eles mais vão aprender. A curva de aprendizagem de HTML aumenta exponencialmente quando se usa a interface gráfica do Dw(que é o que geralmente acontece).

    Agora eu queria falar sobre algo que não mencionei anteriormente. Você baixou o jQuery para a sua máquina. Eu questiono se essa é a melhor solução, sendo que esse framework já está hospedado no Google CDN. Quais as vantagens de aproveitar essa hospedagem? Recomendo a leitura do artigo encontrado no endereço abaixo, que fala exatamente sobre isso.
    http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/

    Abraços ;)

  23. David CHCNo Gravatar
    Tutorial City, nesse requisito concordo com vc, ele apresenta muitas falhas na renderização e ainda inclui o codigo desnecessário, e isso é prejudicial pra quem tá começando, no meu caso não interfere em nenhum aspectos pq eu crio os meus códigos, e nas minhas video aulas são sempre na parte code, e mostrando como fazer e porque fazer, pra mim do dreaweaver é uma grande e pesada, rs, editor de códigos.

    E intessante esse link, já tinha lido algo tbm a respeito, mas como falei o intuito da video aula é mostrar maneiras de fazer algo. Eu não quero ser dono da verdade, pra alguém falar, eu assistir a video aula no mxmasters do David, e se ele falou q um jeito vai ser desse jeito, quero apenas incentivar as pessoas a necessidade pesquisar alternativas, e sugeri-las (com vc tá fazendo), fico muito feliz com essa interação, e sugestões pra melhorar as video aulas, os códigos, assim todos ganham.

    abrs

  24. Alysson LimaNo Gravatar
    Olá David,
    primeiramente quero parabenizá-lo por este tutorial, vc realmente tenha a manha total!
    Bom aproveitando da sua boa vontade, eu preciso de sua ajuda. Li seu tutorial sobre COMBO DINAMICO e o adaptei ao meu site. Porém eu gostaria de saber se é possivel enviar dois posts no código de javascript que chama o arquivo “cidades.php”?

    Se sim, oq devo fazer? O post que quero enviar vai ser com um valor de ECHO de PHP, então em que parte da sentença devo colocá-lo?

    OBRIGADO

  25. David CHCNo Gravatar
    Alysson Lima, já respondi pra o seu email a sua duvida, e acho q vc já conseguiu resolver o problema, qualquer coisa post no forum.
  26. Francisco LealNo Gravatar
    Eu juro que tentei mas sou novo no assunto(php, java e etc), não consigo de jeito algum fazer 4 combos, uma depender da outra atraves do banco de dados mysql, muito dificil, vejo seu video todos os dias, minha página incial eh o manual do php, mas tá dificil mesmo, alguem por favor me ajude! e mais uma vez parabéns pelos videos, o da senha e login eu fiz, ta fera, decorei ele todo e ainda ensinei um amigo, até mais…
  27. LeonardoNo Gravatar
    David acompanho as sua video aulas no mx e tenho aprendido bastante, mas gostaria que vc fizesse uma video aula explicando como validar um campo com busca no banco de dados (exemplo: tenho um campo patrimonio e quando esse campo perder o foco quero que ele me informe se o numero já existe no banco de dados.) valew e essa video aula sua da combo me ajudou muito valewwww
  28. Francisco LealNo Gravatar
    Por favor cancele meu ultimo post, eu consegui obrigado!
  29. WouernerNo Gravatar
    vLEWS

    Obrigado por dividir conhecimento.

  30. Lucas GomesNo Gravatar
    Fiquei impressionado com a didática do instrutor,

    Ótimo exemplo para quem esta começando a entender o jquery, mas aqui não funcionou no chrome2.0 e nem no firefox3.0.

    Alguma dica para funcionar em todos os browser’s ??

  31. Lucas GomesNo Gravatar
    Funcionou sim , era um erro de sintaxe minha,

    Foi mausss…hehe

    O artigo mais funcional que ja vi sobre o assunto
    mostrou de uma maneira MUITO didática mesmo

  32. Rodrigo LimaNo Gravatar
    Muito legal esse tutorial David, vc está de parabéns.
    Consegui fazer o mesmo sem problemas, mas, como faço na hora de editar o formulário, ou seja, fazer com que os dados já gravados no banco sejam exibidos em seus devidos campos para que possam ser alterados.

    Parabéns e obrigado.

  33. LeonardoNo Gravatar
    Show de bola!

    Só uma dúvida! Essa dúvida vai adiantar muita gente!

    Gostaria de saber como retornar mais valores ao invés de um só? Por exemplo!

    Ali vc pega “valor” que alimenta o select. Como pegar mais de um?

    Estou fazendo um teste com input e gostaria de estar alimentando mais de um campo.

    Ex:

  34. David CHCNo Gravatar
    @Rodrigo Lima, vc pode usar o selected=”selected” para deixar marcado a opção q foi selecionado. Na hora de exibir, vc verifica o qual é o valor no banco de dados, depois vc faz um if, verificando se o valor vindo do banco de dados, corresponde ao valor do usuarios, ai vc coloca o selected no option
  35. David CHCNo Gravatar
    @Leonardo, vc usará o mesmo script do jquery, apenas mudará a opção q vai pegar o select, e tbm qual select será acrescentado o valor, e tbm o arquivo q será feito a pesquisa para alimentar esse select
  36. José LeonardoNo Gravatar
    David CHC
    Muito legal os seus vídeos, gostaria de saber se há alguma possibilidade de você juntamente com a MX Masters disponibilizarem um DVD-Video Aulas para venda de PHP/MYSQL/JQuery garanto que seria muito produtivo e didático.
  37. David CHCNo Gravatar
    @José Leonardo, terá um curso em DVD sobre PHP. Estou adiantando trabalhos para pode começar a gravar.
  38. José LeonardoNo Gravatar
    David CHC
    Muito bom espero uma grande cobertura do site a respeito deste novo DVD, parabéns novamente pelas vídeos-aula
  39. DanilloNo Gravatar
    Muito bom o tutorial! Parabéns.

    Agora gostaria de saber como eu faria para fazer um combobox dinâmico q a depender da opção q fosse selecionada nele aparecesse um novo campo no formulário. Por exemplo.. um campo q se chamasse “Tipo:” com valores “Básico”, “Intermediário”, e a depender do q a pessoa selecionasse carregasse logo abaixo alguns ou um campo q fosse relacionado ao tipo q ele escolhesse..

    Tem como vc explicar via email ou isso já eh assunto para uma outra vídeo-aula?? =)

    De qualquer modo desde já agradeço!!

    Abraçosss

  40. David CHCNo Gravatar
    @Danillo, da uma olhada na video aula sistema de uploads, q ensino a criar com javascript campos adicionais, talvez isso te ajude.
  41. SandraNo Gravatar
    Felipe, maravilhoso!!!! Gostaria q me ajudasse em utilizar este combo em uma alteração, ou seja, para resgatar os valores selecionado pelo usuario e disponibilizar a sua alteração.
  42. David CHCNo Gravatar
    @Sandra, vc vai utilizar da mesma maneira, caso queira q busque outro item basta modificar no jquery, o arquivo q vai pesquisar, o select q vai selecionar, e a variavel q vai mandar.
  43. webson sousaNo Gravatar
    esta video ta mesmo show david, posso usar isto para um site de imobiliaria hem amigão?
    parabens e sucesso mais e mais
  44. David CHCNo Gravatar
    @webson sousa, fique a vontade em usar em seus projeto, lembrando que o código está disponivel no Forum do Mxmasters.
  45. SandraNo Gravatar
    Ok, Vou tentar!Obrigada pela respota.
  46. andreNo Gravatar
    Caro David, muito boa a video aula, assisti a aula e visualizei os script, tentei aplicar, mais quando carrega o estado as cidades retornan em branco, fiz um teste copiando oscript e mesmo assim ainda não fnciona, pode me ajudar?
    Valeu
  47. andreNo Gravatar
    Caro David, desconsidere o ultimo comentario, consegui, está funcionando perfeito, só ainda não enviei o formulário, não sei se vai enviar o estado e cidade corretamente,mais desde já sucesso em seu trabalho.
    Obrigado
  48. LVazquezNo Gravatar
    Caro David, quero utilizar este combo em um site de automóveis, então eu teria uma tb_marcas, uma tb_modelos, certo? Bom este banco de dados eu já fiz adaptado das tabelas de estados e cidades, até aí tudo tranquilo. Porém, após o usuário selecionar as opções neste combo, como configuro o botão pesquisar ou buscar? Onde ele deve buscar os resultados?Grato
    Suas vídeo aulas são ótimas, e tem me ajudado muito.OBRIGADO!!!
  49. David CHCNo Gravatar
    @LVazquez, vc vai enviar pelo formulário mesmo, colocar um input do tipo submit, com method get, então com esse dado, vc vai filtrar na tabela, e assim fazendo a pesquisa na tabela dos automoveis,
  50. Felipe RodriguesNo Gravatar
    David, excelente video-aula só que eu to com problemas … eu fiz esse codigo para ser enviado para o meu email, só q no meu email aparece cidade: numero tal e estado: numero tal; como eu faço para aparecer a cidade e o estado selecionado? espero resposta por email, abração.
  51. David CHCNo Gravatar
    @Felipe Rodrigues, vc pode recuperar esses dados, antes de enviar, já q vc já o id ’s, aqui tem um função q criei para retorna o nome da cidade e do estado:

    function Cidade_Estado($estado, $cidade){
    $sql = “SELECT tb_estados.id, tb_estados.nome as estado, tb_cidades.id, tb_cidades.nome as cidade
    FROM tb_estado WHERE tb_estados.id = ‘$estado’ AND tb_cidades.id = ‘$cidade’”;
    $qr = mysql_query($sql);
    $ln = mysql_fetch_assoc($qr);
    $itens = array(’cidade’ => $ln['cidade'], ‘estado’ => $ln['estado']);
    return $itens;
    }

    Para utilizar:

    $dados = function Cidade_Estado($_POST['estado'], $_POST['cidade']);
    $cidade = $dados['cidade']; //nome da cidade
    $estado = $dados['estado']; //nome do estado

  52. D-JotaNo Gravatar
    eu testei aqui fiz de varias maneiras e nao deu certo :(

    ate tentei pegando o script pronto e alterei os dado mysql mas nao deu

    a o primeiro txt fied carrega mas o segundo naum

  53. David CHCNo Gravatar
    @D-Jota, confira o nome do select, ve se tá usando change, e usando os atribuitos @.post
  54. DouglasNo Gravatar
    ficou esquisito, tentei tentei e dancei
    to no dreamweaver e ai ate no modo design aparece os dois combos, soh q na visualizaçao aparece soh um, cheguei ao ponto de deixar na pausa da sua video aula e copiei ponto por ponto, e mesmo assim nao deu. Meu amigo, vc nao sabe como eu preciso aprender isso, to lascado.
    ate a conexao fiz igual a vc.
    S.O.S. ai profe

    ta igualzinho a sua aula
    os erros sao na linha 6 do cidades.php
    e na index nao aparece os estados e nem o segundo combo na visualizaçao
    abraço forte
    Douglas desde CHILE

  55. DouglasNo Gravatar
    voltei,
    o negocio eh o seguinte
    se eu coloco na visualizaçao da pagina cidade.php o erro eh da linha nº5
    -Notice: Undefined index: estado in C:\Archivos de programa\EasyPHP 3.0\www\clases\cidades.php on line 5
    Nao cidades nesse estado

    e na pagina index, na visualizaçao, nao da erro, soh q nao aparece os combos.
    da uma luz.
    abraçao

  56. David CHCNo Gravatar
    @Douglas, pegue os arquivos da video aulas no Forum do Mxmasters, o link está na descrição da video Aula. Ai vc pode comprarar como seu script, assim fica mais facil.
  57. David CHCNo Gravatar
    @Douglas, vc ser acessar diretamente, isso ocorrer, pq a variavel estado não existe. Se não tá aparecendo, verifique se está enviado essas dados via jquery, confira com o script disponibilizado no forum do MXmasters, dessa video aulas, o link está na descrição da video aula
  58. DouglasNo Gravatar
    voltei, soh que voltei pra agradecer, e desejar o melhor pra vc, a aula funcionou blzinha, ajuda assim, poucos dao com boa vontade. vlw mesmo David, vou treinar y tentar fazer mais combos, chegando duvida te peço socorro.
  59. David CHCNo Gravatar
    Blz, @Douglas, peço apenas se tiver que postar alguma duvida, coloque lá no Video Aulas brasil, assim facilita na hora de responder, rs.
  60. ErikaNo Gravatar
    Olá,
    Ótimo tutorial!!! Parabéns!
    Funcionou perfeitamente no I.E e no Crome.
    Só estou com problemas no Firefox!
    Não esta funcionando…
    Como poderia resolver isso??
    Esta neste link:
    http://www.torropublicidade.com.br/lighttech/ondecomprar.php

    Obrigada!

  61. David CHCNo Gravatar
    @Erika, ele tá puxando, só q não tá vindo com o campo option, dá um conferida como vc tá tentando mostrar esses dados. Qualquer coisa, confira com o script q foi criado na video aula, o link está na descrição da video. Está no Forum do MxMasters
  62. River CruzNo Gravatar
    shown de bola gostei da video aula vc só tem que se mais especifico.
  63. David CHCNo Gravatar
    @River Cruz, o q seria mais especifico?
  64. RonaldoNo Gravatar
    Muito bom parabéns mais tem como mostrar a opção selecionada na tela e cada fez que vc seleciona um campo ele é subistituido :0 ou não dá. bom muito obrigado. att
  65. David CHCNo Gravatar
    @Ronaldo, bastaria vc atribui o valor em alguma div. Exemplo:

    $(”select[name=opcao1]“).change(function(){
    var valor = $(this).val();
    $(”#valores”).text(valor);
    })

    HTML:

    Veja q resgata o valor e atribui o valor em uma tag de spam, com id valores.

    Veja outras vídeo aulas sobre Jquery no Vìdeo Aulas Brasil - http://www.videoaulasbrasil.com.br/categoria/ajax/

  66. RonaldoNo Gravatar
    Muito Obrigado deu certinho valeu e sucesso.
  67. Abel LopesNo Gravatar
    Muito Bom graças a esse tuto eu aprendi a fazer combobox hehehehehe valeu mestre.

    muito mesmo

    usei para criar um combo com categoria e subcategoria

  68. EmersonNo Gravatar
    Realmente, seu serviço é muito elucidativo, David. Parabéns, merece se tornar rico.

    Pretendo disponibilizar no formulário mais campos, campos text field que mostrem os outros valores comumente presentes numa tabela, poderiam ser, por exemplo, placa, chassis, ano de fabricação, isso após o segundo select. Como fazer?

  69. David CHCNo Gravatar
    Emerson, vc pode da mesma maneira, o q esses itens tem q ter é um item relacional, por exemplo, vc tem uma tabela modelo, um tabela fabricacao. A tabela modelo está relacionando a tabela fabricacao. Exemplo:

    MODELO
    id_modelo
    modelo

    FABRICACAO
    id_fabricacao
    id_modelo - esse campo q vai relacionar as duas tabelas
    ano

    Ai é só fazer com fiz na video aula, fitrar a tabela fabricacao, com o id da tabela modelo

  70. EmersonNo Gravatar
    Olá, David, fiz o dever de casa,rs.
    Agora no terceiro select, acréscimos, até chega a mostrar a opção carregando conforme exibido no site: http://www.equilibriodinamico.info, no entanto, o retorno é sempe vazio.
    lá tem como fazer um cadastro de aeroportos que armazena estado e cidade em campos de mesmo nome na tabela aeroportos, o relacionamento acontece com o campo cidade (cidade e aeroportos).
    O Rio de Janeiro é a unica cidade que tem aeroportos cadastrados, mesmo assim o retorno é nulo. Agradeço a boa vontade em colaborar tirando dúvidas e aproveito para perguntar se você aceita fazer parte de projetos free lancer.
  71. David CHCNo Gravatar
    Emerson, ele tá retornando um erro:

    Unknown column ‘nome’ in ‘order clause’

    Isso é no sql, veja se esse campo existe na sua tabela, onde vc usou ORDER

  72. EmersonNo Gravatar
    Nobre, David, o que você comentou acima estava certo, muito obrigado, o resultado do terceiro select agora está conforme o esperado que pode ser visualizado no site: http://www.equilibriodinamico.info

    Lá pode-se notar campos text field que acrescente recentemente, no entanto, ainda sem serem carregados dinamicamente com os valores dos campos da tabela aeroportos após feita a escolha no segundo select. Estou estudando javascript agora para buscar a solução. Certamente com sua orientação o progresso será mais rápido

  73. David CHCNo Gravatar
    Emerson, vc pode inserir esses campos dinamicamente, exemplo:

    http://pastebin.com/f65fd09e

    Vc pode inserir tbm dinamicamente, quando mudar o foco no select[name=aeroportos], coloquei um campo primeiro antes como selecione um aeroporto, e quando selecionar, com evento change, vc gera os campos dinamicamente. É uma alternativa.

  74. EmersonNo Gravatar
    David, boa noite,
    eu fiz o seguinte, a julgar pela interpretação do código exemplo:

    Untitled Document

    $(document).ready(function(){

    $(”select[name=estado]“).change(function(){
    $(”select[name=cidade]“).html(’Carregando…’);

    $.post(”cidades.php”,
    {estado:$(this).val()},
    function(valor){
    $(”select[name=cidade]“).html(valor);
    }
    )

    })
    })

    $(document).ready(function(){

    $(”select[name=cidade]“).change(function(){
    $(”select[name=aeroportos]“).html(’Carregando…’);

    $.post(”aeroportos.php”,
    {cidade:$(this).val()},
    function(valor){
    $(”select[name=aeroportos]“).html(valor);
    }
    )
    $(”select[name=cidade]“).change(function(){
    $(”select[name=aeroportos]“).html(’Carregando…’);
    $.post(”aeroportos.php”,
    {cidade:$(this).val()},
    function(valor){
    $(”select[name=aeroportos]“).html(valor);
    })
    /**
    * Monta o html para inserir
    */
    var label = ‘aeroporto

         numero de pistas

      altitude

      telefone

    ‘;

    $(”#campos-extras”).html(label)

    })

    })

    Escolha um Estado
    <?php
    mysql_connect(”mysql.equilibriodinamico.info”, “emerson_celt”, “12345″);
    mysql_select_db(”db_equilibrio_dinamico”);

    $sql = “SELECT * FROM tb_estados ORDER BY nome ASC”;
    $qr = mysql_query($sql) or die(mysql_error());
    while($ln = mysql_fetch_assoc($qr)){
    echo ”.$ln['nome'].”;
    }
    ?>

    Escolha um Estado Primeiro

    Escolha uma cidade Primeiro

    Está correta a colocação? O resultado foi diferente do esperado.
    Abraço.

  75. EmersonNo Gravatar
    correção: eu colei o código e ficou faltando pedaço, quando fui conferir no site que percebi portanto ai está outra vez:

    Untitled Document

    $(document).ready(function(){

    $(”select[name=estado]“).change(function(){
    $(”select[name=cidade]“).html(’Carregando…’);

    $.post(”cidades.php”,
    {estado:$(this).val()},
    function(valor){
    $(”select[name=cidade]“).html(valor);
    }
    )

    })
    })

    $(document).ready(function(){

    $(”select[name=cidade]“).change(function(){
    $(”select[name=aeroportos]“).html(’Carregando…’);

    $.post(”aeroportos.php”,
    {cidade:$(this).val()},
    function(valor){
    $(”select[name=aeroportos]“).html(valor);
    }
    )
    $(”select[name=cidade]“).change(function(){
    $(”select[name=aeroportos]“).html(’Carregando…’);
    $.post(”aeroportos.php”,
    {cidade:$(this).val()},
    function(valor){
    $(”select[name=aeroportos]“).html(valor);
    })
    /**
    * Monta o html para inserir
    */
    var label = ‘aeroporto

         numero de pistas

      altitude

      telefone

    ‘;

    $(”#campos-extras”).html(label)

    })

    })
    })

    Escolha um Estado
    <?php
    mysql_connect(”mysql.equilibriodinamico.info”, “emerson_celt”, “12345″);
    mysql_select_db(”db_equilibrio_dinamico”);

    $sql = “SELECT * FROM tb_estados ORDER BY nome ASC”;
    $qr = mysql_query($sql) or die(mysql_error());
    while($ln = mysql_fetch_assoc($qr)){
    echo ”.$ln['nome'].”;
    }
    ?>

    Escolha um Estado Primeiro

    Escolha uma cidade Primeiro

  76. EmersonNo Gravatar
    …quando eu colo no campo de mensagem fica legal mas após transmitir some uns pedaços e aparecem outros…!?
    por isso coloquei o codigo referido em http://www.equilibriodinamico.info clicando no link campo_texto.

    abraço.

  77. David CHCNo Gravatar
    @Ermeson, seria isso, ao mudar a cidade apareceria os outros itens. Só q pode ocorre, q vc escolha uma cidade, não tenha aeroportos, por exemplo. Então, eu indicaria vc colocar, algo desse tipo:

    $(”select[name=aeroportos]“).change(function(){
    //aqui inseri os novos itens
    })

    Aconselho vc dá uma olhada nas vídeo aulas de jquery, pra vc se familiarizar mais com ele.

    http://www.videoaulasbrasil.com.br/categoria/ajax/

  78. EmersonNo Gravatar
    ok, adiantou muito, fico muito agradecido a familia mxmasters. Vou comprar os produtos de vocês por que são bons e pelo fino trato.
    Já assisti uma aula de ajax, vou assistir as outras.
    Deixei um link na index do http://www.equilibriiodinamico.info para pagina “testes” onde o resultado com as alterações sugeridas é visualizado
    Sucesso.
  79. EmersonNo Gravatar
    David, boa tarde, criei a div e o css após assistir e cómpreender as aulas do Felipe Cardozo e do Matheus. Funciona perfeitamente exceto quando acrescento o código que deve trazer os resultados para div. O codigo pode ser visto em http://www.equilibriodinamico.info/testes2.php
    Eu me contento se não funcionar de forma dinâmica.
    Agraddeço pela moral.
  80. Vinicius LaraNo Gravatar
    Boa tarde David, parabens pelo seu video, ficou muito bom, eu so estou com problema em colocar mais uma combo, alias eu queria colocar uma div com as informacoes dos representantes (como nome, endereco, telefone) separado por cidades, o que estou fazendo de errado? lembrando que a minha tabela representantes ja foi criada…

    Obrigado!

    $(document).ready(function(){

    $(”select[name=estado]“).change(function(){
    $(”select[name=cidade]“).html(’Carregando…’);

    $.post(”cidades.php”,
    {estado:$(this).val()},
    function(valor){
    $(”select[name=cidade]“).html(valor);
    }
    )

    })
    })
    $(document).ready(function(){

    $(”select[name=cidade]“).change(function(){
    $(”select[name=representante]“).html(’Carregando…’);

    $.post(”representantes.php”,
    {cidade:$(this).val()},
    function(valor){
    $(”select[name=representante]“).html(valor);
    }
    )

    })
    })

    Escolha um Estado
    <?php
    mysql_connect(”localhost”, “root”, “”);
    mysql_select_db(”representantes”);

    $sql = “SELECT * FROM tb_estados ORDER BY nome ASC”;
    $qr = mysql_query($sql) or die(mysql_error());
    while($ln = mysql_fetch_assoc($qr)){
    echo ”.$ln['nome'].”;
    }
    ?>

    Escolha um Estado Primeiro

    Escolha um Estado Primeiro

  81. Vinicius LaraNo Gravatar
    Minha pagina representantes.php

    <?php

    mysql_connect(”localhost”, “root”, “”);
    mysql_select_db(”representantes”);

    $cidade = $_POST['cidade'];

    $sql = “SELECT * FROM representantes where nome = ‘$cidade’ ORDER BY nome_representante ASC”;
    $qr = mysql_query($sql) or die(mysql_error());

    if(mysql_num_rows($qr) == 0){
    echo ”.htmlentities(’nda’).”;

    }else{
    while($ln = mysql_fetch_assoc($qr)){
    echo ”.$ln['nome_representante'].”;
    }
    }

    ?>

  82. David CHCNo Gravatar
    @Vinicius Lara, então, aparentemente tá normal. Se vc usa o firefox, aconselho usar o plugin firebug, assim vc saberá qual o erro que está dando, e se está enviando algum dado para outra página. Use o firebug, e me informe qual o erro apresentado e a linha.
  83. David CHCNo Gravatar
    @Emerson, vc usa o Firefox, utilize o Plugin Firebug, pra verificar o erro q possa ter ocorrido, assim fica mais facil identificar.
  84. Vinicius LaraNo Gravatar
    Opa David consegui, era um erro besta, mas como eu faço para colocar alem do nome do representante, o endereco, telefone, dados pessoais? lembrando que essas informações estão tudo no meu banco de dados associados pelo nome do representante…
    Obrigado
  85. David CHCNo Gravatar
    @Vinicius Lara, da mesma maneira, se vc consegue pegar os dados de um select, e fazer a pesquisa, vc retorna essa valores em qualquer parte, podendo ser div, select, ou outro campo, basta informar o id, exemplo, retorna numa div:

    $(”#conteudo-representate”).html(valor);

    Na parte de retorna os dados, informei q quero inserir os dados um elemento com id #conteudo-representate.

  86. Ilton RogérioNo Gravatar
    Legal David.
    Será que você poderia postar uma vídeo aula com 3 campos combos dimânicos, tipo [Estado] [Cidades] e [Bairros] só como exemplo?
  87. David CHCNo Gravatar
    @Ilton , vc vai usar o mesmo script, da mesma maneira q fiz com 2. A única coisa q vai mudar é relação ao pegar o select e informar onde vai buscar os dados no banco de dados.
  88. JefersonNo Gravatar
    Cara quebro minha perna hueheuhe
    muito bom, continue nos ajudando :)
  89. CauãNo Gravatar
    Otima video aula …

    e dale html…rsrs

  90. AlexNo Gravatar
    Bom dia, David..primeiramente parabens pelo seu tutorial..muuito bom..assim vc estará ajudando os iniciantes como eu em php…deixei meu codigo igual ao seu, mas o segundo combo carrega vazio..ele aparece carregando mas qdo este some, o combo fica vazio..ja revisei o codigo vaarias vezes…banco..tem alguma ideia ? se precisar, colo meu codigo aqui.
    Grande abraço
  91. David CHCNo Gravatar
    @Alex, dá uma conferida no código q está no forum do Mxmasters, o link está na descrição da video aula, assim fica mais facil de vc comparar os scripts.
  92. AlexNo Gravatar
    Desculpa te encher David..mas quando vou rodar meu codigo, ele aparece com um ponto de exclamação na barra do ie e vou ver o erro…ele diz que o objeto não da suporte para a propriedade ou metodo nas seguintes linhas:

    $(”select[name=cidade]“).html(’Carregando…’);

  93. David CHCNo Gravatar
    @Alex, vc está chamando o arquivo jquery pra sua página?
  94. AlexNo Gravatar
    $(”select[name=cidade]“).html(’Carregando…’);
  95. AlexNo Gravatar
    sim…foi uma das coisas que verifiquei..
  96. AlexNo Gravatar
  97. AlexNo Gravatar
    fala david…eu novamente…então, consegui tirar todos os erros que vinham dando..mas o combo cidade continua aparecendo vazio..o engraçado é que eu dou um echo pra imprimir em outra pagina..ai as cidades aparecem…mas dentro do combo nada..o que pode ser ? ja fiz mil e uma alterações…e nada…
  98. David CHCNo Gravatar
    @Alex, tente dá um alter dentro da function(valor), pra ver se mostra algo:

    function(valor){
    alert(valor);
    }

    Para verifica se tá retornando ou não algum valor.

  99. AlexNo Gravatar
    bom dia, david…consegui…o problema era que na pagina cidade.php, eu estava deixando as tags html e body…tirei e funcionou…agora vou tentar adcionar + 2 combos pra ficar com um total de 4..haha

Deixe sua opinião

Veja também

David CHC

E-mail | Site | Conteúdo publicado: 7

Últimas do VAB

Blogs

Tecnologia todo dia!

Navegar é preciso, usar I.E.6 não

Siga-nos

Enquete

O que devemos mudar no novo MXWEBTV?

Ver Resultados

Carregando ... Carregando ...
Untitled Document
  • Top lists
  • Últimas do fórum
  • Nuvem de tags
  • Newsletter