MX Masters

25/05/2009 - 12:19 > 19.986 Visualizações > 230 comentários

Combo dinâmico com php e JQuery

17 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.

Posts relacionados

David CHC

Trabalha como free-lance em desenvolvimentos de sites,desde o projeto completo à parte do projeto. Tem conhecimentos em Padrões Web( xhtml, css), javascript( jquery), php, mysql , (iniciando no python e ruby também), photoshop, fireworks, corel draw, enfim, um eterno aprendiz...


Outros posts deste autor

Este autor atualmente possui 38 posts

Veja todos os posts de David CHC


Comentários / Deixe seu Comentário

230 respostas para 'Combo dinâmico com php e JQuery'

  1. Felipe CardozoNo Gravatar Diz:

    Sensacional!
    Vai ajudar muita gente!

  2. João Paulo VasconcelosNo Gravatar Diz:

    Hum… vou ver a video aula pra ver se ficou bom
    huauhauhuha
    :D

  3. João Paulo VasconcelosNo Gravatar Diz:

    Ficou boa mesmo… parabens mano muito bom!!!
    mxmasters rulando na net :)

  4. Lautaro-Argentina-sud amérciaNo Gravatar Diz:

    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 Diz:

    Realmente muito bom! Vou utilizar em todos os meus formulários de cadastro. Vlw mesmo!

  6. XavierNo Gravatar Diz:

    Muito Boa!!!

  7. marcioNo Gravatar Diz:

    boa tarde.. mas o video naum qer aparecer….

  8. AlexandreNo Gravatar Diz:

    Sem palavras…

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

  9. Julio CesarNo Gravatar Diz:

    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 Diz:

    Video Aula show de bola, vai ajudar muita gente viu.
    Parabens!!!

  11. Hugo LuizNo Gravatar Diz:

    Muito bom. Gostei da explicação, bem caprichado o vídeo. Parabéns David, excelente aula. Brigaduuuu

  12. ÁtilaNo Gravatar Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    não deu certo eu seleciono o estado mais não aparece a cidade pra eu selecionar!

  18. David CHCNo Gravatar Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    Por favor cancele meu ultimo post, eu consegui obrigado!

  29. WouernerNo Gravatar Diz:

    vLEWS

    Obrigado por dividir conhecimento.

  30. Lucas GomesNo Gravatar Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    @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 Diz:

    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 Diz:

    @José Leonardo, terá um curso em DVD sobre PHP. Estou adiantando trabalhos para pode começar a gravar.

  38. José LeonardoNo Gravatar Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @webson sousa, fique a vontade em usar em seus projeto, lembrando que o código está disponivel no Forum do Mxmasters.

  45. SandraNo Gravatar Diz:

    Ok, Vou tentar!Obrigada pela respota.

  46. andreNo Gravatar Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @D-Jota, confira o nome do select, ve se tá usando change, e usando os atribuitos @.post

  54. DouglasNo Gravatar Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    @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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    shown de bola gostei da video aula vc só tem que se mais especifico.

  63. David CHCNo Gravatar Diz:

    @River Cruz, o q seria mais especifico?

  64. RonaldoNo Gravatar Diz:

    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 Diz:

    @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 Diz:

    Muito Obrigado deu certinho valeu e sucesso.

  67. Abel LopesNo Gravatar Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    …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 Diz:

    @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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    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 Diz:

    @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 Diz:

    @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 Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @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 Diz:

    Cara quebro minha perna hueheuhe
    muito bom, continue nos ajudando :)

  89. CauãNo Gravatar Diz:

    Otima video aula …

    e dale html…rsrs

  90. AlexNo Gravatar Diz:

    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 Diz:

    @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 Diz:

    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 Diz:

    @Alex, vc está chamando o arquivo jquery pra sua página?

  94. AlexNo Gravatar Diz:

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

  95. AlexNo Gravatar Diz:

    sim…foi uma das coisas que verifiquei..

  96. AlexNo Gravatar Diz:
  97. AlexNo Gravatar Diz:

    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 Diz:

    @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 Diz:

    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

  100. Lucas J. BarinNo Gravatar Diz:

    Perfeito!
    Muito obrigado!
    É muito útil em qualquer sistema que tenha interrelacionamento de tabelas….

    Além de esse processo nos possibilitar fazer posts mais dinamicamente, como upload de imagens por exemplo….

    Muito bom! Parabéns!

  101. AndreNo Gravatar Diz:

    Ola David,
    Sensacional a sua video aula, mas estou com um problema com estes codigos.. tipo qdo eu seleciono o estado nao ocorre nenhum evento do esperado, ja verifiquei todo o codigo desde do ate rsrsrsrs e nao entendo pode ser um bug..
    PS- ja ate copiei o codigo q voce disponibilizou e o modifiquei de acordo com as necessidades.. estou utilizando dw cs3 sera q ele faz algum bug??

  102. David CHCNo Gravatar Diz:

    @Andre, a IDE é indiferente, poderia usar o bloco de notas, sem problema algum. Uma maneira de vc o erro q possa está ocorrendo, é se você usar o Firefox, e com isso usar o plugin Firebug, assim dará para saber qual o erro q pode está ocorrendo, as vezes é apenas falta de uma virgula, com o firebug poderemos saber qual é o erro do script.

  103. RicardoNo Gravatar Diz:

    Olá david, ótimo tutorial, procurei muitos até encontrar um que funcionasse de verdade, eu já até tinha esse SQL.

    Deixa eu te falar, estou aprendendo a programar em PHP, e estou aprendendo aos poucos, estou desenvolvendo um site e preciso fazer uma ficha de inscrição online. Já tenho o formulário completo, já estou utilizando este combo dinâmico que você ensinou e estou precisando de uma ajuda na montagem do BD em SQL. Você poderia me ajudar nessa montagem? Os campos são estes: nome, instituição, nomecrachá, endereço, número, complemento, bairro, cep, estado, cidade, fone, fax, celular, email e categoria.

  104. David CHCNo Gravatar Diz:

    Seria algo assim:

    TABELA cadastro

    id = INT AUTO_INCREMENT PRIMARY KEY
    nome = VARCHAR (80)
    instituicao = VARCHAR(255)
    nome_cracha = VARCHAR (100)
    endereco = VARCHAR (255)
    numero = VARCHAR (80)
    complemento VARCHAR (100)
    bairro = VARCHAR (255)
    cep = VARCHAR (9)
    estado_id = INT
    cidade_id = INT
    fone = VARCHAR(14)
    fax = VARCHAR(14)
    celular = VARCHAR(14)
    email = VARCHAR (100)
    categoria = INT

    Estado, cidade e categoria, são tabelas diferentes, logo o que vc vai inserir na tabela de cadastro apenas os id’s deles para poder fazer o relacionamento, juntando os dados das tabelas, utilizando o INNER JOIN. Pesquise sobre relacionamento entre tabelas, Formas Normais, e sobre o INNER JOIN para vc pode mostrar os dados, unido pelo id dessas tabelas

  105. RicardoNo Gravatar Diz:

    Seria muito complicado pra você me ajudar nesse procedimento de criação deste script?

    Este é um site de eventos e este evento será feita a inscrição pela internet.

    Obrigado!

  106. David CHCNo Gravatar Diz:

    @Ricardo vai ser sim, pq tenho que entregar alguns trabalho. Recomendo vc pesquisar sobre Inner Join, e relacionamento entre tabelas.

  107. RicardoNo Gravatar Diz:

    Ok. Entendo e agradeço a ajuda.

    Só mais uma coisa então pra ver se eu consigo desenrolar esse script, teria que fazer a relação da tabela cadastro + tb_estado + tb_cidade, seria essa a relação entre tabelas que você se referia?

  108. YomarNo Gravatar Diz:

    Site simplesmente fantástico para quem quer aprender!

  109. YomarNo Gravatar Diz:

    David,

    Uma dúvida:

    Teria como retornar dois valores como por exemplo Cidades e Bairros?

    Tipo:

    Vou colocar o código de um item e quero que ele preenhca não apenas um campo, mas 3… teria como fazer utilizando este mesmo exemplo dado por você?

  110. YomarNo Gravatar Diz:

    David,

    A PERGUNTA ANTERIOR FOI MAL FORMULADA:

    Que dá para preencher mais de um campo, sei que dá, mas queria saber se isso é possível utilizando apenas um envio (post) para uma única página e esta retornando valor1, valor2, valor3…?

  111. David CHCNo Gravatar Diz:

    @Yomar, sim vc pode enviar quantos valores q vc desejar, e retorna o valor em HTML. Se não me engano, como jquery 1.4, vc já pode enviar um array, só não sei se tbm retorna um array.

  112. YomarNo Gravatar Diz:

    Acho que não me fiz entender…

    Seria basicamente isto:

    Enviando APENAS o valor do ESTADO…

    Na parte onde recebemos o valor…
    —————————-
    function(valor){
    $(“select[name=produto]“).html(valor);
    }
    —————————-

    Queria saber se isso seria possível:
    —————————-
    function(valor1){
    $(“select[name=cidade]“).html(valor1);
    }

    function(valor2){
    $(“select[name=bairro]“).html(valor2);
    }

    function(valor3){
    $(“select[name=logradouros]“).html(valor3);
    }
    —————————-

    A pergunta se faz porque, pelo que entendi, o valor retornado é apenas o resultado da página cidades.php, e não vi referência ao VALOR na mesma, logo só achei possível fazer isto enviando o mesmo valor só qiue para páginas diferentes, tipo: cidade.php, bairro.php e logradouro.php.

    Seria isto mesmo?

    Abraços e obrigado pela atenção despendida.

  113. David CHCNo Gravatar Diz:

    @Yomar, não dá pra isso, pq ele só pode retorna um função de callback, de acordo com as diretrizes da funcão $.post, pq ela tem essa estrutura:


    $.post(‘url’,
    {data: dados},
    function (valor_retornado) {
    }
    );

    Aqui sobre $.post (lembrando com modificações para jquery 1.4, enquanto da video aula a versão 1.3, pode ocorrer algumas modificações em alguns itens.)

    http://api.jquery.com/jQuery.post/

  114. YomarNo Gravatar Diz:

    Ok David.
    Muito obrigado pela AULA!

    Uma última pergunta…

    Você já fez uma video aula com uma combobox preenchendo um input box?
    É que estou tentando mas está dando o seguinte erro: “Chamada inesperada para acesso à propriedade ou método”.

    O erro deve estar na forma como estou tentando enviar e receber os dados numa textbox.

    Estou tentando assim:
    ———————————–
    $(“input[name=codigo]“).text(‘value=\”0\”‘);
    $.post(“Excelente_Ajax_[MXMaster]David.php”,
    {codpost:$(this).val()},
    function(valor4){
    $(“input[name=codigo]“).text(valor4);
    }
    )
    ———————————–

    No arquivo “Excelente_Ajax_[MXMaster]David.php” estou retornando o valor assim:
    ———————————–
    echo “”;
    ———————————–

    Caso não tenha a aula, você poderia ajudar?

  115. YomarNo Gravatar Diz:

    Ops…

    Errei novamente no comentário anterior …

    No arquivo “Excelente_Ajax_[MXMaster]David.php” estou retornando o valor assim:
    ———————————–

    customedio = $ln['codigo'];

    echo “”;

    ———————————–

  116. YomarNo Gravatar Diz:

    NOOOOOOOooooossa…
    Será que sai hoje???
    Apaga a daí de cima!!!
    Errei novamente no comentário anterior …

    No arquivo “Excelente_Ajax_[MXMaster]David.php” estou retornando o valor assim:
    ———————————–

    $codigofinal = $ln['codigo'];

    echo “”;
    ———————————–

    Ps.: O erro aponta para linha 102 do jquery-1.4.1.min.js

  117. YomarNo Gravatar Diz:

    O erro não é meu não… é que quando posto o código o texto dentro do echo está sendo engolido…

    Deve ser algo com a explicação que vc deu sobre aspas duplas “e aspas simples’…

    No arquivo “Excelente_Ajax_[MXMaster]David.php” estou retornando o valor assim:
    ———————————–

    $codigofinal = $ln['codigo'];

    e c h o ” ;
    ———————————–

    Ps.: O erro aponta para linha 102 do jquery-1.4.1.min.js

  118. David CHCNo Gravatar Diz:

    @Yomar, não tenha essa video-aula, mas é da mesma maneira, precisa de uma ação para executar essa ação,, e depois resgatar o valor. No exemplo q está no link abaixo, vamos dizer q existe um botao, e ao clicar nele ele resgata um valor a ser atribuido depois da ação a um campo input. Veja se seria q vc queria fazer.

    http://pastebin.com/f72fa3be3

    Update: Coloque o codigo no pastebin, como fiz pra mostrar o exemplo

  119. YOMARNo Gravatar Diz:

    David, consegui beleza!!!

    VALEU MESMO.

    O MXMaster deveria ter uns cursos legais com video aulas de AJAX, PHP e CSS.
    Com vc como professor seria 10.

    Muito obrigado pela atenção e presteza amigo.

  120. David CHCNo Gravatar Diz:

    @YOMAR, estou amadurecendo a ideia dos cursos, e estudando tbm, se sair o pessoal será informado. abrs

  121. WilliamNo Gravatar Diz:

    Parabén David! Uma didática formidável, apreciei muito seu trabalho.

    Abraço!

  122. David CHCNo Gravatar Diz:

    Obrigado @William

  123. DenisNo Gravatar Diz:

    Muito bom o tuto! Só acho que teria que mudar um pequeno detalhe.. O ideal e trabalhar o banco de dados com UTF8 e nao latin ou outro caracter..
    Trabalhando com UTF8, qualquer caracter será aceito(trabalhando os arquivos em UTF8 tambem claro) Já em latin, pode ter alguns caracteres que não são aceitos.

  124. David CHCNo Gravatar Diz:

    @Denis, UTF-8 aceita uma gama de caracteres, com se quisesse escrever em japones ele aceitaria. O Iso-8859-1 ele aceita acentuações. Em algumas situações de pesquisas de banco de dados com UTF-8 ele diferencia acentuação, e dependendo do caso não muito interessante para o usuário. Tbm acho que seria inerente em relação a vídeo aula, já q era proposta uma determinada situação, mas mesmo assim vlw pela dica.

  125. cidicley cintraNo Gravatar Diz:

    como seria para listar o conteudo como as cidades em chekbox e nao em SELECT?

    AGUARDO A RESPOSTA, ESTOU PRECISANDO MUITO DISTO

  126. David CHCNo Gravatar Diz:

    @cidicley cintra, basta colocar o id no value do input type radio, ou checkbox, vai depender da finalidade.

  127. FranciscoNo Gravatar Diz:

    Cara… isto me ajudou MUITO.

    Pelo que vi, voce é o PICA DAS GALAXIAS no PHP e java eim. Olhando o video, da até pra pensar que você decorou tudo antes de fazer o video hehehe… mas… a gente sabe que tu sabe !

    Um dia quem sabe eu chego lá… programar em php assim… livre, leve e solto! Digitando comando a comando sem ter que ficar pesquisando na net.

    Aqui a coisa funciona assim, cada comando, 10 ou 20 buscas no google. Valeu… t+

  128. David CHCNo Gravatar Diz:

    Obrigado @Francisco. Eu só programo com o site do manual do PHP aberto, e fora ajuda da IDE para completar. Claro q aos poucos vc decora bastante coisa, mas consultar o manual da linguagem é de lei, rs

  129. CarlosNo Gravatar Diz:

    Olá David, muito boa sua explicação consegui implementar o select dinâmico na minha aplicação, porém estou com um problema, adptei seu código e no primeiro select o usuário seleciona uma das datas importadas do banco, com isso, gera o segundo select contendo os pedidos referentes aquela data, até ai tudo bem, funcionou perfeitamente, mas a partir disso quero exibir os dados desse pedido, e não consigo pegar o valor das duas variáveis (data, pedido) escolhidas no select pelo usuário.

  130. David CHCNo Gravatar Diz:

    @Carlos, vc tá dizendo pegar via jQuery ou PHP?

  131. CarlosNo Gravatar Diz:

    Via PHP, consegui fazer aqui, fiz apenas um POST $dtpedido = $_POST['dtpedido']; pegando o valor da variável, tinha tentado isso antes e não tinha funcionado não sei pq. Acho que era o lugar em que se encontrava o POST, agora coloquei após o fim do form e do botão submit.

  132. Rodrigo CesarNo Gravatar Diz:

    Boa tarde David…cara…sou usuário assiduo do MXMasters…principalmente seu fã…cara…vc ta de parabéns.
    O que acontece…estou a 3 meses procurando uma forma de fazer com que meu site tenha um sistema de Cidade vs Bairro…ou seja…tenho um cadastro de clientes e gostaria de q quando o usuário clicasse na lista de Cidade onde ele reside, automaticamente habilitasse a lista de bairros correspondentes a ekela cidade.

    Vasculhei no MX e graças a vc achei a video aula que explica( e mto bem explicado) essa tarefa…mas cara…estou fazendo EXATAMENTE…SEM MUDAR UMA VIRGULA O QUE VC FEZ.

    E por incrivel que pareça, ou por burrice minha mesmo, nao esta dando certo.

    E outra…vc esta fazendo local…e gostaria de saber tbm como fazer isso efetivamente no meu site, ou seja…remoto.

    PELO AMOR DE DEUS…ME AJUDE DAVID !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Desde ja agradeço a atenção

    Abraço
    Rodrigo Cesar

  133. Rodrigo CesarNo Gravatar Diz:

    O que esta acontecendo aki comigo, pelo que li ai nos comentarios, é exatamente o que esta acontecendo com algumas pessoas…os dados do 1 select até aparecem, mas quando seleciona algum estado, nao habilita os dados do 2º select.

    Outra coisa…quando eu citei que estou querendo fazer um sistema de Cidade vs Bairro, é exatamente isso que vc fez…eu apenas adaptei…mas mesmo assim, tentei fazer , como disse anteriormente…EXATAMENTE COMO VC FEZ…nao deu certo mesmo assim rsrsr…cara…..to quase infartando rsrs

    Abraço

  134. Rodrigo CesarNo Gravatar Diz:

    cara…realmente nao ta dando certo aki…ja fiz o impossivel e nao da…
    tive pensando …teve um momento da video aula onde vc testou e deu um probleminha la…vc disse que ia fazer uma pausa e ja voltava…
    me diz uma coisa…vc resolveu o problema que tinha dado modificando algo?…será q é por causa disso que nao ta dando certo aki pra mim…pq fiz exatamentwe como vc…

    como vc me pediu, ta aki o link da minha pagina onde deverá comter esse sistema…

    http:///www.dicavaliosa.com/cadastrese.php

    Desde ja agradeço a agtenção mais uma vez.

    Abraço

    Rodrigo

  135. rodrigo cesarNo Gravatar Diz:

    opa…retificando

    http://www.dicavaliosa.com/cadastrese.php

  136. David CHCNo Gravatar Diz:

    @rodrigo cesar, o erro q ocorreu quando gravei era nos caracteres. NO seu caso, vc está indicando o caminho errado para o jquery. No caso está assim:

    src=”js/jquery-1.4.2.min.js”

    Sendo q está no mesmo nivel do arquivo, sendo q ficaria assim:

    src=”jquery-1.4.2.min.js”

  137. rodrigo cesarNo Gravatar Diz:

    CARA………EU TE AMOOOOOOOOOOOOO KKKKKKKKKKKKKK

    VC SALVOU MINHA VIDA RSRS…ME MANDE O SEU ENDEREÇO Q VOU TE MANDAR UMA GARRAFA DE WHISKY 18 ANOS DE PRESENTE RSRSRS..
    MEW…MAIS UMA VEZ, MEUS PARABÉNS…VCS DO MXMASTERS SÃO INCOMPARÁVEIS…EM ESPECIAL, VC, O FELIPE CARDOZO E O ALEIXO ( Q TBM SÃO 2 MONSTROS EM WEB)…MANDE UM ABRAÇO MEU PRA ELES…

    MTO…MAIS MTO OBRIGADO MESMO CARA

    CONTINUEM ASSIM….A SERIEDADE E O PROFISSIONALISMO DE VCS DO MX É QUE FAZ DESSE SITE “O MELHOR SITE DE WEB”…

    SUCESSO PRA VCS!!!!

  138. David CHCNo Gravatar Diz:

    Obrigado @rodrigo cesar

  139. rodrigo cesarNo Gravatar Diz:

    opa…olha eu aki de novo enchendo o seu saco rsrs

    cara…ta dando td certinho agora…mas to com mais um pequeno problema…consegui fazer com q os dados do formulario sejam enviados para meu banco de dados…mas o problema é q no meu banco de dados phpMyadmin, esta cadastrando o ID das cidades e estados e nao os nomes…será que vc poderia me auxiliar quanto a esse problema mais uma vez? e desculpe o abuso rsrs

    desde ja agradeço a atenção

  140. David CHCNo Gravatar Diz:

    @rodrigo cesar, a ideia é vc utilizar as tabelas das cidades e estados, usando um relacionamento, tenta um cidades_id, e estados_id na tabela que conterão esses valores, e depois usar o INNER JOIN para juntar essas tabelas.

    Mas se vc quer gravar o nome, basta fazer uma pesquisa nas tabelas referentes, e retorna o valor, exemplo:


    $idEstado = $_POST["estados"];
    $query = mysql_query(“SELECT * FROM estados WHERE id = ‘$idEstado’”);
    $linha = mysql_fetch_assoc($query);
    $estado = $linha['estado'];

  141. rodrigo cesarNo Gravatar Diz:

    cara…desculpe minha ignorancia mas realmente nao entendi…como te disse, sou totalmente ignorante na parte de programação…inclusive tava vendo o site do MX e vou adquirir alguns cursos ai com vcs…

    onde devo colocar esse codigo??

    o codigo da minha pagina é esse:

    .:: dicavaliosa.com ::. – Home

    $(document).ready(function(){

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

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

    })
    })

    <!–
    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i

     

     

     
     
     

     

     

     

          Preenchendo os campos abaixo, independentemente de querer ou não anunciar seu negócio, você se habilita a receber notícias periódicas da coluna Fique Atento, além de SUPER DICAS de serviços ou produtos em oferta dos nossos anunciantes.

    <form action=”" name=”form1″ method=”POST”>

    Nome

    E-mail

    Sexo

    M
    F

    Sua Atividade

    Alimentos
    Arte e Cultura
    Beleza e Bem-estar
    Bares e afins
    Carros – comércio e acessórios
    Construção Civil – comércio e serviços
    Educação – Escolas e Cursos
    Eletro-eletrônica
    Esporte e Lazer
    Festas e Eventos
    Gráfica, Papel e Embalagem
    Informática, Internet e Telecomunicações
    Máquinas, Instrumentos, Ferramentas e Motores
    Saúde
    Moda e Indústria Têxtil
    Produtos e Serviços para Empresas
    Profissionais, Associações e Cooperativas
    Indústria farmacêutica
    Transporte, Armazenagem e Logística
    Viagens e Turismo

    Estado

    Escolha um Estado
    <?php
    mysql_connect(“minha conexao”, “meu usuario”, “minha senha”);
    mysql_select_db(“banco_dica”);

    $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'].”;
    }
    ?>

    Cidade

    Escolha um Estado Primeiro

     

     

     
     
     

    desculpe colocar o codigo inteiro mas nao faço ideia onde colocar esse codigo que vc me passou!!!

  142. David CHCNo Gravatar Diz:

    @rodrigo cesar, posta no pastebin.com, e me passa o link.

  143. rodrigo cesarNo Gravatar Diz:

    cara…nao entendi mto bem isso…

    éra pra eu entrar nesse site http://www.pastebin.com e postar o codigo la???

    foi o que eu fiz rsrs…se nao era isso, me da um toke por favor

    abraço

  144. David CHCNo Gravatar Diz:

    @rodrigo cesar, é para colocar lá, ele gerar um link, e manda para mim, pq fica organizado, e o codigo destacado. Escolha a opção de PHP

  145. rodrigo cesarNo Gravatar Diz:

    entao foi isso mesmo que eu fiz…postei o codigo da minha pagina la ja…
    se puder me auxiliar mais uma vez, agradeço de coração

    vlwww

  146. David CHCNo Gravatar Diz:

    @rodrigo cesar, vc tem q colocar lá, e mandar o link q ele gerou, no caso da url, exemplo:

    http://pastebin.com/f7znmems

  147. rodrigo cesarNo Gravatar Diz:

    cara…seria isso?????????
    http://pastebin.com/sASFmz6k

  148. David CHCNo Gravatar Diz:

    @rodrigo cesar, vc copiou errado, pq não consigo acessar

  149. rodrigo cesarNo Gravatar Diz:

    entao cara…nao to conseguindo entender o que vc precisa que eu faça para q vc possa me ajudar…tem algum outro canal onde agente possa se comunicar pra vc me explicar direito o que vc precisa?
    Valew…

  150. David CHCNo Gravatar Diz:

    @rodrigo cesar, vamos passo a passo.

    1 – Vá no site http://pastebin.com/
    2 – Pegue o seu código e coloque em Post a new Pastebin
    3 – Em Syntax highlighting, escolha a linguagem de que você postou, no caso PHP
    4- Clique em submit
    5- Copie a URL que está no endereço no navegador. E mande para mim.

  151. rodrigo cesarNo Gravatar Diz:

    entao…foi exatamente o que eu fiz e te mandei…fiz de novo e a URL que gerou na barra de endereço do navegador foi…

    http://pastebin.com/XF8PwmR6

    abraço

  152. David CHCNo Gravatar Diz:

    @rodrigo cesar, agora consegui visualizar, fiz um exemplo com parte de cadastro selecionando o nome do estado, e depois é só fazer a mesma coisa com o nome da cidade. Essa é uma maneira de fazer.

    http://pastebin.com/CnfUbapm

  153. rodrigo cesarNo Gravatar Diz:

    nao cara…acho que nao me expliquei direito…….esse codigo que vc passou nesse site ai é o codigo do Insert Record…isso eu fiz….esta enviando os dados direitinho para o meu banco de dados…o que esta acontecendo é que apenas os dados das Cidades e dos Bairros estao cadastrando os “IDs” e nao os nomes efetivamente…se quiser, da uma olhada no meu site…
    http://www.dicavaliosa.com/cadastrese.php

    valew

  154. David CHCNo Gravatar Diz:

    @rodrigo cesar, então, vc vai pegar esse id, e pesquisar no banco de dados dos estados e cidades, para saber qual ele corresponde. Ou vc pode fazer a pesquisar usando outros campos, se não me engano a tabela tbm tem a sigla do estado na tabela de cidade. Assim vc pode em vez do value retornar o id das tabelas, na tabela estado retorna a SIGLA ( RJ), e nome da cidade.

  155. Thyago BrasilNo Gravatar Diz:

    Bom dia David! Primeiramente gostaria de parabenizá-lo pela ótima vídeo-aula. Realmente muito mas muito boa mesmo! Bom, gostaria de acrescentar mais uma combo box mas não estou sabendo onde mexer na realidade. Sou iniciante na programação php ainda então estou com dificuldades.

    Abração!

  156. David CHCNo Gravatar Diz:

    @Thyago, o procedimento será o mesmo. Vc terá que recuperar o valor o select, envia para um arquivo fazer a pesquisa no banco de dados, e retornar o valor. Praticamente vc vai duplicar o primeiro codigo de pesquisa, apenas modificacando os valores do selects e para qual arquivo realizará a busca.

  157. rodrigo cesarNo Gravatar Diz:

    Boa tarde David…cara…será q vc poderia me auxiliar mais uma vez…é o seguinte…td o que vc me explicou ate agora funcionou perfeitamente…agradeço mais uma vez…mas o que to precisando agora é…

    o meu site é um guia de comercios e serviços

    na minha pagina inicial, tenho que fazer um sistema de busca interna onde o usuario seleciona a categoria (alimentos, bares e restaurantes, informatica, autos etc…), depois disso, escolha a cidade e o bairro desejado…. o resultado tem q ser exibir apenas as informaçõe q o usuario pediu por exemplo:

    Categoria > Informatica
    Cidade > São Paulo
    Bairro > Penha

    Resultado: apenas comerciantes da area de informatica que estejam localizados em sao paulo e bairro penha

    me expliquei bem?
    Aguardo resposta…
    desde ja agradeço a atenção

    Abraço
    Rodrigo

  158. David CHCNo Gravatar Diz:

    @rodrigo cesar, basta vc verificar o valores que estão preenchidos e assim fazer a pesquisa. Aconselho usar o array para montar essa restrição, exemplo:

    http://pastebin.com/6XDPcxV7

  159. Marcio ViniciusNo Gravatar Diz:

    Eae David, tudo bom? Adorei a video aula, ficou muito boa! Boa mesmo cara! Parabéns! Não só a você mas como a todos do MX. Mas tem como você me ajudar em um pequeno problema? É assim:

    Funcionou tudo 95%, porque quando eu seleciono um Estado do Acre até o Espitiro Santo, aparece todas as cidades normalmente, mas depois do Espitiro Santo, (Ex: Goias, maranhão, etc) Não aparece nenhuma cidade! Estranho isso… Bom, fica ai minha duvida. Abraços!

  160. David CHCNo Gravatar Diz:

    @Marcio Vinicius, então está enviando os dados, e retorna os valores até uma determinado estado. Seria interessante, na parte de callback ( function(valor) {} ), e coloque um alert(valor), assim vc saberá o valor q está retornando:


    $.post(“arquivo.php” ,
    {
    campo : $(this).val()
    }, function(valor){
    alert(valor);
    });

  161. Marcio ViniciusNo Gravatar Diz:

    Então David, coloquei o Alert, porém ainda continua o mesmo erro, apenas aparece um Alert mesmo mostrando todos os estados, e nos que dão erro aparece

    ‘.(‘Não há cidades nesse estado’).”;

  162. David CHCNo Gravatar Diz:

    @Marcio Vinicius, era apenas para dá o alert mesmo, pra ver se retornava um erro. Na parte do jquery ele está funcionando, veja agora a parte do php. Veja se o ID ou campo que vc está enviando está cadastrado no banco, e se vc está filtrando com o campo da tabela correta.

  163. ThyagoNo Gravatar Diz:

    David,

    Obrigado. Deu certo. Apenas não sei porque ele funciona quando esta em um servidor aqui da minha maquina mesmo e quando jogo pro ar ele não funciona. No ar, ele esta carregando os dados dos estados porém a cidade não carrega.

    Abraço

  164. THYAGONo Gravatar Diz:

    Só acrescentando mais uma coisa, eu acho que o javascript que não esta funcionando pois coloquei um alert lá no código e ele não abre nada ainda assim a não ser funcionando aqui internamente.

    Abraço

  165. THYAGONo Gravatar Diz:

    Aff…esquece tudo…rsrsrs…
    eu que esqueci de colocar a pasta js no servidor!

    Valeu pela grande ajuda ae David;

    Abraços

  166. ThyagoNo Gravatar Diz:

    David, desculpe a minha ignorancia mas como já disse sou iniciante no php. Bom…estou com o seguinte problema. No meu formulário de contato eu inseri as combos de estado e cidade como vc fez no exemplo. Até aí funciona belezinha. Mas na hora de enviar, acontece o mesmo que foi citado por Felipe Rodrigues no dia 12/08/09. Tentei implementar o código que vc falou porém ele dá o seguinte erro:

    Parse error: syntax error, unexpected T_FUNCTION in /home/autobeti/public_html/novo/enviar.php on line 20

    O que pode estar acontecendo de errado?

    O primeiro código abaixo, estou colocando no próprio formulário e o segundo no envia.php que é o arquivo que envia os dados pro meu email.

    Codigo no contato.php
    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;
    }

    Código no envia.php
    $dados = function Cidade_Estado($_POST['estado'], $_POST['cidade']);
    $cidade = $dados['cidade']; //nome da cidade
    $estado = $dados['estado']; //nome do estado

    Obrigado,

    Thyago

  167. Marcio ViniciusNo Gravatar Diz:

    Ok David, irei dar uma olhada! Valeu pela atenção. Agora outra pergunta… Bem pessoal. Pelo que eu vejo na maioria das videos aulas que vocês aqui realizam quando se trata de gerenciamento do banco vocês usam o phpMyadmim, algo assim, mas para uso pessoal, trabalhos mesmo, você usa esse mesmo ou outro? Curiosidade apenas… Abraços.

  168. Marcio ViniciusNo Gravatar Diz:

    Cara, o negócio não vai de jeito nenhum! Já até coloquei o seu código aqui, e nada! Acho que é algo relacionado ao Banco de Dados mesmo, eu acho, não sei… Porque os Nomes dos Estados e Cidades que contem acentos, etc, aparecem com caracteres ao invés de aparecer o nome corretamente… =/

  169. David CHCNo Gravatar Diz:

    @Marcio Vinicius, para modela os dados, e criar as tabelas eu utilizo o workbenck, ele é gratuito. Você consegue ter uma visão melhor dos relacionamento entre as tabelas. Depois eu gero um SQL e executo no PHPMyAdmin. Ai a partir dai, o a visualização dos dados eu vejo no PHPMyAdmin.

    O lance da tabela parece estranho mesmo, pq está realizando a pesquisa corretamente de alguns lugares e outros não. Vc está usando as tabelas que disponibilizei, ou está usando outra?

  170. David CHCNo Gravatar Diz:

    @Thyago, coloque o codigo no http://www.pastebin.com, e me passa o link para eu dá uma olhada.

  171. ThyagoNo Gravatar Diz:

    David, segue abaixo o link
    http://pastebin.com/uE8zPBKZ
    Abraço

  172. David CHCNo Gravatar Diz:

    @Thyago, tente agora:
    http://pastebin.com/MAzPKJmS

  173. ThyagoNo Gravatar Diz:

    Continua o erro David.

    Parse error: syntax error, unexpected T_FUNCTION in /home/autobeti/public_html/novo/enviar.php on line 20

    Abraço

  174. rodrigo cesarNo Gravatar Diz:

    Fala David…entao cara…como eu havia dito a vc, eu nao entendo nada de codigos php…entao esse negocio de array, nem adianta vc falar q nao faço ideia do q é rsrs

    eu coloquei o codigo inteiro da minha pagina onde preciso que esse sistema de busca funcione…ta ai

    http://pastebin.com/PcYN5ryY

    o que eu devo fazer para funcionar e onde tenho que adcionar esses codigos q vc me passou?

    da uma força ai por favor!!!

    esse sistema de busca esta localizado na index do meu site
    http://www.dicavaliosa.com

    e pelo q percebi, o “form” onde deve conter a programação esta na linha 237 do pastebin…será??????? rsrs

    desde ja agradeço sua ajuda
    Rodrigo

  175. David CHCNo Gravatar Diz:

    @Thyago, poste todo o codigo do arquivo enviar.php no http://www.pastebin.com

  176. David CHCNo Gravatar Diz:

    @rodrigo é muito importante saber sobre array, se não vc se dificultar, então por isso, eu tenho uma aula explicando só sobre o assunto, poderá te ajudar a entender o código que te passei.

    http://www.mxmasters.com.br/php/entendendo-sobre-array-no-php/

  177. Marcio ViniciusNo Gravatar Diz:

    Poxa David, desculpa cara, mas o erro estava que eu não inserir todos os INSERT das cidades, rs, Por isso que não pegava os outros, porque não tinha, desculpe mesmo!

    Agora, esse workbenck é igual ao DBDesigner ? Eu Uso o DB para a modelagem(estou aprendendo) e o MySQL-Front, para a mesma função que você faz no PhpMy… Qual você me indica? Como iniciante?

    Forte abraço!

  178. David CHCNo Gravatar Diz:

    @Marcio, isso acontece. Sim , o Workbenck seria uma versão mais atual do DB Designer, já que esse foi descontinuado. Mas ele é bom também. Usar um “modelador” para suas tabelas, já é um ótimo começo. Vc está usando otimas ferramentas.

  179. Marcio ViniciusNo Gravatar Diz:

    David, estou com um problema, não sei ao certo se isso é um problema, mas é no minimo curioso… Eu to precisando fazer um sistema de Login e Senha, Cadastro, Area Restrita e tudo mais, porém, está tudo sempre dando errado! Eu fiz com base em uma video aula que você mesmo criou para esse tema, e nada! Testei várias vezes o código, mudei coisas, etc, etc, e nada! Ai fui mais radical, coloquei todo o seu código no meu PC, e NADA! É como se meu PC estivesse com “problemas” para ler o PHP. É estranho! Ai pesquisei por outros métodos de de se realizar um cadastro, e nada tbm! Pegava o código do Autor do tutorial e rodava até certo ponto, ele validava o formulario, mas não mandava os dados para o banco… Tá complicado o negocio aqui… Abraços

  180. BrennoNo Gravatar Diz:

    DAVID, poderia me auxiliar? Aqui no meu deu quase tudo certo, só um pequeno probleminha. As combos estão mostrando as palavras que possuem acento e “ç” com caracteres estranhos.

    Por exemplo:
    Convênios : está mostrando “CONV?IOS”
    Administração : mostra “ADMINISTRA?O”
    Subsídio Técnico : aparece na combo “SUBS?IO T?NICO”

    Já tentei várias coisas, nenhuma deu certo.
    Estou usando ASP.

    Agradeço muito sua ajuda e parabéns pela vídeo aula, ficou show de bola!!!

  181. BRENNONo Gravatar Diz:

    DAVID, esqueci de mencionar uma informação que pode ser importante.

    Esse problema citado acima só ocorre nas combos dinâmicas (2 combos), na primeira combo está tudo ok.

    Abraço!

  182. BRENNONo Gravatar Diz:

    DAVID, já resolvi o problema.

    Caso alguém apareça com o mesmo problema, é só colocar o seguinte comando na página em que consta o select que busca os dados da combo:

    Response.Charset=”ISO-8859-1″

    Parabéns pelo seu trabalho.

    Obrigado pela atenção.

  183. David CHCNo Gravatar Diz:

    @Marcio Vinicius, ele não está cadastrando os dados no Banco de dados?

  184. leonrado gomesNo Gravatar Diz:

    Caramba! Muito bom, parabéns mesmo!

  185. ThyagoNo Gravatar Diz:

    Bom dia David, segue abaixo o link para visualizar o código do enviar.php.

    http://pastebin.com/03ZGmURy

    Att,

    Thyago

  186. David CHCNo Gravatar Diz:

    @Thyago, primeira vc criará um arquivo chamado cidades_estados.php, e colocará aquela função. Depois, no seu arquivo enviar, vc chamará aquela função, antes incluindo no enviar.php, ai depois chamando a função. Para chamar a função, basta colocar o nome da função + os parametros exigidos :

    http://pastebin.com/GP8abicr

  187. Alexandre RapchanNo Gravatar Diz:

    Muito Legal! Obrigado!

  188. Ricardo NascimentoNo Gravatar Diz:

    David, boa-noite! Em primeiro lugar quero parabenizá-lo pelo tuto, você tem uma ótima didática.

    Gostaria de uma ajuda, caso fosse possível. Bom! Ao clicar em uma cidade, desejo que apareça um formulário de cadastro, tendo este um campo oculto com o código da cidade, código esse passado no momento da seleção da cidade, para que quando o usuário clicar no botão enviar o cadastro seja feito.

    Espero que eu tenha sido claro…

    Agradeço antecipado.

  189. David CHCNo Gravatar Diz:

    @Ricardo, vc pode retornar qualquer valor para qualquer elemento. VC pode realizar o mesmo procedimento, de escolher a cidade, fazer uma pesquisa em algum arquivo e retorna o formulário. E para indicar onde será inserido o formulário, vc faz na hora de retornar o valor:


    $.post(“form-cidade.php”,
    {‘id’ : $(this).val()},
    function(valor){
    $(“#div_recebe”).html(valor)
    });

  190. Ricardo NascimentoNo Gravatar Diz:

    David CHC, peguei a manha da coisa, FUNFOU LEGAL, valeu Brother.

  191. DavidNo Gravatar Diz:

    Ola david, excelente videoaula…

    é possivel depois de selecionar o estado, ao selecionar uma cidade, aparecer uma nova pagina com informações dessa cidade??

    Por exemplo,

    Selecionando o estado do Rio de janeiro, e a cidade do Rio de Janeiro, teriamos um dysplay com a informação sobre essa cidade.

    abrigado,
    david

  192. David CHCNo Gravatar Diz:

    Então xará, então, vc quer enviar essas informações selecionadas para outra páginas, ou vc quer ao selecionar a cidade, aparecesse o conteudo abaixo sobre essa cidade (com ajax)?

  193. DavidNo Gravatar Diz:

    hello,

    queria que ao selecionar a cidade no 2 combo, aparecesse o conteudo abaixo sobre a cidade selecionada.

    david

  194. David CHCNo Gravatar Diz:

    Nesse caso, vc vai apenas repetir o codigo para selecionar o estado. Só vai informar o arquivo diferente onde será realizado a pesquisa, na função do $.post, vc indica aonde será enviado


    $.post(“pesquisa.php” , {
    ‘idCidade’ : $(this).val()
    }, function(valor){
    $(“#ElementoOndeEuquero”).html(valor)
    })

    NO caso , já tá pressuposto q vc já resgatou o valor da cidade, da mesma do estado, informou o arquivo onde realizará a pesquisa, no exemplo pesquisa.php, e e inseriu na div, ou elemento q vc deseja essa resposta do arquivo pesquisa.php

  195. Alan RiciNo Gravatar Diz:

    Olá David, estou com um probleminha, eu testei o seu código e funcionou legal, só que quando eu coloquei ele dentro de um formulário que eu criei com o DW CS3 através da developer toobox, usando o “insert record for wizard” ele carrega os estados, mostra Carregando… no combo das cidades mas daí ele fica em branco. Gostaria que vc me desse uma dica do que pode estar acontecento, pq sou iniciante no php e javascript.

  196. David CHCNo Gravatar Diz:

    @Alan Rici, eu não uso mais o dreamweaver ( essa parte q ele gera o codigo, eu nunca usei, rs). Tente criar manualmente ,é até melhor pra vc aprender os comandos;

  197. Alan RiciNo Gravatar Diz:

    Beleza David, vou tentar manualmente..vlw

  198. AndréNo Gravatar Diz:

    Muito bem David, funciona direitinho…

    porem eu tentei fazer com o <input type="button" e nao funcionou…

    segue o jquery

    $(document).read(function(){

    $("#buscar").click(function(){

    $("#res_busca").html('Carregando…’);
    $.post(“carrega_busca_relacionado.php”,
    {tipo:$(“select[name=tipo_busca]“).val()},
    {nome:$(“input[name=nome_busca]“).val()},
    function(valor){
    $(“select[name=res_busca]“).html(valor);
    }
    )
    });

    });

  199. David CHCNo Gravatar Diz:

    @André, no caso vc está montando errado, na hora de enviar as variaveis com os valores para pagina carrega_busca_relacionado.php

    $(document).read(function(){
    
    	$("#buscar").click(function(){
    
    	$("#res_busca").html('Carregando…');
    		$.post('carrega_busca_relacionado.php',
    			  {
    			    tipo:$('select[name=tipo_busca]').val(),
    			    nome:$('input[name=nome_busca]').val()
    			   }
    		        function(valor){
    			$('select[name=res_busca]').html(valor);
    		});
    	});
    
    });
    
  200. jose vicenteNo Gravatar Diz:

    David a aula nao está mais disponível? poderia me anviar o vídeo por favor,? já usei uma vez e me ajudou muito mas agora preciso novamente e o video nao está aparecenedo! muito obrigado!

    att,

  201. David CHCNo Gravatar Diz:

    @jose vicente, é um problema no videolog, daqui a pouco volta ao normal

  202. MatheusNo Gravatar Diz:

    Muito bem David, funciona direitinho…
    só to tendo um probleminha na listagem das cidades, ele ta retornando todas as cidades, no entanto ta aparecendo em apenas 1 opção, e eu usei o seu código exatamente igual e ta aparecendo em apenas 1 opção… no google chrome fica legal, agora no IE e no FF da esse erro que disse acima..
    o que será que pode ser?!

    vlw

  203. David CHCNo Gravatar Diz:

    @Matheus, tente usar o Firebug do firefox para ver se tá retornando algum erro no próprio PHP, na hora de retornar as cidades correspondentes.

  204. MatheusNo Gravatar Diz:

    David, nao sei usar mto bem essas funcionalidades do firebug…
    da uma olhada ai como q ta acontecendo por favor…

    me manda uma resposta no email que te passo o link e a senha..

    vlw

  205. David CHCNo Gravatar Diz:

    @Matheus, vc terá q publicar esse conteudo em algum lugar, veja alguma hospedagem gratuita, e publique o conteudo, depois me passa o link pra ver o q pode tá ocorrendo.

  206. MatheusNo Gravatar Diz:

    eu tenho postado no meu dominio.

    vieiramatheus.com.br/cfcleblon

    admin/admin

    menu alunos
    novo

    por enquanto só essa tela..

    será pq ta orientado a objeto?

    agora to saindo, quando voltar respondo..
    vlw

  207. David CHCNo Gravatar Diz:

    @Matheus, o problema é q vc não está retornando no option:

    while($ln = mysql_fetch_assoc($query)){
           echo '<option value="'.$ln['cod_cidade'].'">'.$ln['cidade'].'</option>';
    }
    

    Está apenas retornando o valor só da cidade. No caso, ela tem q estar dentro de option, para inserir na tag select .

  208. MatheusNo Gravatar Diz:

    então, na verdade estou mandando um Option sim…

    o meu código do cidade.php ta assim..

    buscarTodosEstado($estado);
    $contadorCidade = count($objCidades);

    for($z = 0; $z get(“nome”);

    echo ‘get(“nome”).’”>’.$objCidade->get(“nome”).”;
    }
    ?>

    onde que ta o problema ai?!
    será que pode ser algum problema no formulario?!

    vlw

  209. MatheusNo Gravatar Diz:

    http://pastebin.com/SEHqPfw5

    mais fácil, ta ai o código do cidade.php..

  210. David CHCNo Gravatar Diz:

    @Matheus, vendo o resultado, vc está incluindo tbm meta tag, tente tirá-lo:

    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    
  211. MatheusNo Gravatar Diz:

    é parece que era só esse detalhe msm..hehe
    e o melhor é que nem comentando ele dava certo…
    tive que apagar msm…

    vlw

  212. Rodrigo CoutoNo Gravatar Diz:

    David, boa noite.
    Ficou muito bom o código.
    Porém, como faço para passar dois parâmetros?
    Por exemplo:

    Combo1 = Cidade
    Combo2 = Local
    Combo3 = Linha

    Seleciono a cidade no Combo1 e depois que seleciono o local no Combo2, ele popula o Combo3 com os parâmetros dos Combos 1 e 2.

    Pois minha tabela no bd tem a seguinte estrutura:

    cmp_cidade, cmp_local, cmp_linha

    Não sei se fui bem claro.
    Valew!

  213. David CHCNo Gravatar Diz:

    @Rodrigo, a cada combo q vc precisa resgatar pra retornar algo, vc terá q repetir o mesmo script. NO caso, vc fará duas vezes. Quando selecionar o primeiro combo, e depois para selecionar o segundo combo

  214. Rodrigo CoutoNo Gravatar Diz:

    David,

    Desculpa minha ignorância, mas teria como você postar como ficaria o código? Pois não estou conseguindo entender.

    Muito obrigado!

  215. David CHCNo Gravatar Diz:

    @Rodrigo , seria algo assim:

    $("select[name=opcao1]").change(function(){
       //Faz a primeira execução, e retorna no select na opção2
    });
    
    //Agora , quando seleciona a opcao2
    
    $("select[name=opcao2]").change(function(){
       //Faz a parte se elecionar o select como opcao2e retorna no select na opção3
    });
    

    E assim sucessivamente.

  216. Rodrigo CoutoNo Gravatar Diz:

    David, boa tarde.

    Segue abaixo o meu código.
    Não está dando certo… rs… Onde estou errando? Ou está tudo errado? rsrs

    Abraços…

    $(document).ready(function(){
    $(“select[name=cboLocal]“).change(
    function() {
    if($(this).val() == “selecione”) {

    } else {
    $(“select[name=cboLinha]“).load(‘linhas.php?cmp_cidade=’+ $(“select[name=cboCidade]“).val() +’&cmp_local=’ + $(“select[name=cboLocal]“).val());
    }
    }
    );

    });

    ———————————————————————

    arquivo linhas.php

    <?php

    mysql_connect("localhost", "root", "");
    mysql_select_db("db_visualbusvale");

    $cidade = $_POST['cboCidade'];
    $local = $_POST['cboLocal'];

    $sql = "SELECT cmp_linha FROM tbl_linhas WHERE cmp_cidade = '$cidade' AND cmp_local = '$local' ORDER BY cmp_linha ASC";
    $qr = mysql_query($sql) or die(mysql_error());

    if(mysql_num_rows($qr) == 0){
    echo '’.htmlentities(‘Selecione ——————————————–’).”;

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

    ?>

  217. Rodrigo CoutoNo Gravatar Diz:

    David, ficou errado…

    Segue os links pra você dar uma olhada no código:

    JavaScript
    http://pastebin.com/FUuTaxVa

    linhas.php
    http://pastebin.com/mZ8dWtJV

  218. David CHCNo Gravatar Diz:

    @Rodrigo , no caso vc quer pegar 3 select ao mesmo tempo. Mas no caso, para ter a segunda select, não precisará determinar a 1?

    exemplo:

    Escolho um item da select 1

    Mostra os itens na select2

    Depois escolha o item da select 2

    E mostra os itens da select 3

    Não seria isso q vc tá tentando fazer?

  219. Rodrigo CoutoNo Gravatar Diz:

    Olá David.

    Não. Na verdade, os selects 1 e 2 já são pré determinados, sem serem alimentados pelo banco.
    Porém o select 3, precisa do valor do select 1 para o campo “cidade” e o valor do select 2 para o campo “local” para executar a busca no banco de dados e carregar o select 3 com os dados que atenderem as condições dos selects 1 e 2.

    Não sei se fui bem claro…

    Obrigado.

  220. David CHCNo Gravatar Diz:

    @Rodrigo , no caso, o quando vc seleciona o select 2, ele tem q pegar o select1, e ai assim fazer a pesquisa, e o resultado será o select 3. NO caso darei o nome de opcao1, opcao2, opcao3:

    $("select[name=opcao2]").change(function(){
       //pega o valor da select 1
       var opcao1 = $("select[name=opcao1] option:selected").val()
     //pega o valor da select2
       var opcao2 = $(this).val();
    
     //ao faz o metodo post, pra enviando as variaveis para o arquivo linha.php
       $.post("linha.php", {
                    cmp_cidade : opcao1,
                  cmp_local : opcao2
               }, function(retorno){
                       $("select[name=opcao3]").html(retorno);
               });
    });
    
  221. Rodrigo CoutoNo Gravatar Diz:

    David,

    Ainda não está dando certo.

    Segue o meu código completo da página de cadastro com o script JQuery
    http://pastebin.com/KSgSjA49

    e o código da minha página em php “linhas.php” para fazer a busca no BD
    http://pastebin.com/byT0PFC8

    a estrutura do BD é a seguinte:

    cmp_cidade | cmp_local | cmp_linha

    Exemplo:

    Taubate | Painel | Linha 1
    Taubate | Painel | Linha 2
    Cacapava | Painel | Linha 1
    Cacapava | Painel | Linha 2
    Cacapava | Externo | Linha 1

    Desde já, muito obrigado.

  222. David CHCNo Gravatar Diz:

    @Rodrigo, não precisa passa o sinal de interrogação no nome do arquivo. Antes, tente verificar se está resgatando o valor corretamente, no caso coloque um alert, pra ver se está resgatando algum valor quando seleciona no select na cidade.

    var opcao1 = $("select[name=cboCidade] option:selected").val();
    var opcao2 = $(this).val();
    alert(opcao1+opcao2);
    
  223. Rodrigo CoutoNo Gravatar Diz:

    David,

    Coloquei o alert e está resgatando os valores corretamente. E também já retirei o “?” e mesmo assim, fica em branco.

    Obrigado.

  224. David CHCNo Gravatar Diz:

    @Rodrigo, tente assim: http://pastebin.com/AVkbC9CK

  225. Rodrigo CoutoNo Gravatar Diz:

    David,

    Descobri minha falha…
    Eu tinha renomeado o meu BD no servidor e não troquei o nome no arquivo linhas.php.

    Total inexperiência. rs

    Valew mesmo!!!!
    Muito obrigado…

    FUNCIONOU PERFEITAMENTE!!!! PARABÉNS!!!

  226. Luiz CarlosNo Gravatar Diz:

    Ola… mt bom funciona + no meu caso n esta funcionando…
    seguinte eu tenho as combos de estado, cidade e bairro… consegui fazer todas funcionar com esse jquery… porem quando eu gravo… os values vao vazios… o unico que aparece eh o do estado q foi incluido pelo while… ja cidade e bairro nao esta pegando o value (ids) o q posso fazer??? vlw…..

  227. David CHCNo Gravatar Diz:

    @Luiz Carlos, coloque o codigo no pastebin.com, e depois passa o link, pra dá uma olhada.

  228. vivianeNo Gravatar Diz:

    Ola
    meu nome eh viviane, sou bemm novata em php e tudo mais….. : )

    vi e refiz varias vezes, mas nao esta puxando direito…
    se voce puder dar uma olhada…
    o meu problema eh o seguinte…
    Como jas estou trabalhando com o banco, ja tenho minhas tabelas cidade e estado e estas nao possuem os mesmos atributos que as suas, tentei adaptar mas nao ta dando certo…pra qualquer estado que eu relaciono nao existe cidade
    CREATE TABLE estado
    (
    uf character(2) NOT NULL,
    nome_estado character varying(30) NOT NULL,
    CONSTRAINT pk_estado PRIMARY KEY (uf)
    )
    CREATE TABLE cidade
    (
    cod_cidade integer NOT NULL,
    nome_cidade character varying(50) NOT NULL,
    uf character(2) NOT NULL,
    CONSTRAINT pk_cidade PRIMARY KEY (cod_cidade),
    CONSTRAINT fk_cidade_estado FOREIGN KEY (uf)
    REFERENCES estado (uf) MATCH SIMPLE
    ON UPDATE NO ACTION ON DELETE NO ACTION
    )

    cidade.php
    <?php
    require_once('conexao.php');
    // session_start();
    error_reporting(0);

    $estado = $_POST['estado'];

    $sql1 = pg_query("SELECT uf FROM estado WHERE nome_estado = '$estado'");
    $cod_estado = pg_fetch_object($sql1);

    $sql2 = pg_query("SELECT * FROM cidade WHERE uf = '$cod_estado' ORDER BY nome_cidade ASC");

    if(pg_num_rows($sql2) == 0){
    echo '’.htmlentities(‘Não existe cidades cadastradas neste estado.’).”;
    }
    else{
    while($linha = pg_fetch_array($sql2)){
    echo ”.$linha['nome_cidade'].”;
    }
    }
    ?>

    form

    Estado:*

    Escolha um estado.
    <?php
    require_once("conexao.php");
    $sql = pg_query("SELECT * FROM estado ORDER BY nome_estado ASC");
    while($linha = pg_fetch_array($sql))
    echo '’.$linha['nome_estado'].”;

    ?>

       

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

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

    no js nao escrevi $(document).ready( function() { pois ja to usando outras funcoes…coloquei essa dentro

    fico aguardando……

    Muito Obrigada

  229. David CHCNo Gravatar Diz:

    Olá @viviane, vamos por partes. Vamos verificar se está retornando algum valor, pra isso, coloque um alert na callback da função post

    $('select[name=estado]').change(function(){
    $('select[name=cidade]').html('Carregando…');
    
    $.post('cidade.php',
    {estado:$(this).val()},
    function(valor){
     alert(valor);
    $('select[name=cidade]').html(valor);
    }
    )
    });
    

    Está retornando vazio o alerta, ou retorna alguma coisa?

    Caso não retorna nada, tente fazer assim na cidade.php

    cidade.php

    <?php
    require_once('conexao.php');
    error_reporting(0);
    $estado = $_POST['estado'];
    $sql = pg_query("SELECT * FROM cidade WHERE uf = (SELECT uf FROM estado WHERE nome_estado = '$estado') ORDER BY nome_cidade ASC");
    if(pg_num_rows($sql) == 0){
             echo '’.htmlentities(‘Não existe cidades cadastradas neste estado.’).”;
    }
    else{
    while($linha = pg_fetch_array($sql)){
    printf('<option value="%s">%s</option>', $linha['nome_cidade'], $linha['nome_cidade']);
    }
    }
    ?>
    

    No caso, mudei apenas o SQL, criando uma subconsulta (eu tenho uma video aula falando sobre o Assunto: http://www.mxmasters.com.br/php/realizando-subconsulta-com-sql-e-php/). Veja se retorna algum valor.

  230. vivianeNo Gravatar Diz:

    Ola David muito obrigada pela sua ajuda :)

    acabei de conseguir e se nao fosse voce nao teria conseguido :D

    eu dei um echo no conteudo que estava vindo do estado (nome_estado) e percebi que ele nao estava carregando o nome corretamente
    pois no estado ao inves de definir nome_estado e nome_estado tinha definido uf e nome_estado.. :S:S

    – > echo ”.$linha['nome_estado'].”;

    por isso nunca havia cidade..kk
    coisas de principiante :D

    Muito obrigada pelka disposicao em ajudar!!

    Muito sucesso

    Boa noite

    viviane

Deixe seu Comentário

Publicidade

www.mxmasters.com.br - todos os Direitos Reservados : Desenvolvido com Wordpress

Desenvolvido por David CHC e Felipe Cardozo