| Maior acervo de vídeo aulas da web

Não consegue visualizar a vídeo aula?

Combo dinâmico com php e JQuery

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 irei indicar para vocês um arquivo .sql com mais de 9715 registros com cidades e estados.

Tenham uma boa Video aula.

Você gostou dessa Vídeo Aula, então compartilhe com seus amigos

Artigos Relacionados

Comentários

  • http://michelaguiar23.blogspot.com Michel Aguiar

    valew pela video aula. tirou muita duvida

  • João Paulo

    Fantástico, nunca tinha feito carregamento dinâmico, vi o vídeo algumas vezes e fiz!
    Parabéns ao autor.

  • http://www.kadudesouza.com.br Kadu de Souza

    Fala David,
    primeiramente suas video aulas sao muito boas e como sempre salvando minha vida! rs
    cara eu to fazendo um sistema que faz uma busca de cidades e depois retorna os endereços de todos os bancos nacionais, porem na busca ta dando erros por causa dos acentos e eu to tendo problemas para criar uma função para retirar os acentos de dados vindos do formulario, cara vc nao tem uma função dessas para me arrumar por favor?
    ou mesmo onde posso encontrar uma que funcione de verdade…
    Abraços e obrigado!!

    • http://www.videoaulasbrasil.com.br David CHC

      Vc tentar solucionar o problema dos acessos colocando um header no arquivo q faz a pesquisa.

      Ou tente esse aqui:

      Vc pode usar nos dados vindo o formulário htmlentities, onde ele vai converte os caracteres em suas entidades correspondentes.

  • http://www.kadudesouza.com.br Kadu de Souza

    Fala David,
    na verdade, como o banco de dados vem de uma planilha excel, afinal são mais de 19.000 linhas! e nenhum dado vem com acento, quando o cliente busca por exemplo “Florianópolis”, ele nao encontra pois no banco de dados esta sem acento, eu precisava de uma função que eliminasse os acentos do criterio de busca vindo do formulario.
    OBS: Para os erros de codificação eu estou uso o utf8_decode(); ou encode que sempre funcionou caso alguem estiver lendo esses comentarios pode ter esse problema, mas o meu problema seria mesmo no tratamento da variavel vinda do formulario.
    Abraços e obrigado!

  • http://www.kadudesouza.com.br Kadu de Souza

    Valew David,
    obrigado, era isso mesmo que eu tava precisando!!
    eu gostaria muito de postar umas video aulas, mas meu headset esta quebrado…rs assim que eu arrumar vou desenvolver uma…
    Obrigado e parabéns pelo seu trabalho :-)

    • http://www.videoaulasbrasil.com.br David CHC

      @Kadu, quando vc arranjar um headset, vc faz e enviar pra gente, e qualquer duvida é só falar.

  • http://www.rgfsistemas.com.br Roberto Silva

    Cara…ótima video-aula…bastante didática e de facil intendimento…
    Trabalho com o Xajax…que tambem é ótimo…mais to querendo apliar meus conhecimentos em Ajax e…o JQuery está no topo….rssss
    Um grande abraço e parabéns pelo tutorial…

    • http://www.videoaulasbrasil.com.br David CHC

      @Roberto Silva, eu gosto jquery pela sua facilidade, é uma ótima biblioteca, eu recomendo.

  • Juarez Silva

    Olá David td bem?

    Primeiramente queria parabenizá-lo pelas video-aulas, que são muito boas, e bem explicadas. Bom, testei esse script em um projeto e curiosamente qd seleciono um item da option para exibir “Carregando…”, o topo do site desloca-se para a direita e a fonte do menu aumenta acho q 1px.
    Saberias dizer o que pode ser?
    Abraço…

    • http://www.videoaulasbrasil.com.br David CHC

      @Juarez Silva, veja o valor q tá retornando, não esteja retornando algo além do option, como outras tag html

  • Mauricio

    Olá. Achei muito interessante esta video aula, mas gostaria muito de aprender como solucionar o problema com a acentuação nos registros da tabela cidades, pois ao utilizar este combo para alimentar uma outra tabela, os nomes das cidades estão sendo enviados com erro de acentuação.

    • http://www.videoaulasbrasil.com.br David CHC

      @Mauricio, coloque a página com charset=”iso-8859-1″ ou tente usar o htmlentities na receber os valores da cidade

  • http://www.acoimbra.com.br Anderson Coimbra

    Olá David.
    Meu problema é o seguinte:
    O id do estado, enviado pelo POST, esta chegando na página de cidades vazio. O que será que está acontecendo? já verifiquei várias vezes os códigos e não encontrei o problema.
    Ele carrega o outro select, mas como ñ tem id, ñ retorna resultado nenhum a consulta, e aparece vazio o formulário.

    • http://www.videoaulasbrasil.com.br David CHC

      @Anderson Coimbra, tente no Jquery, em vez de retorna no select, retornar o valor num alert

      function(valor){
      alert(valor);
      }

      Assim vc ver o q tá retornado, se é um erro do php, q as vezes ocorre.

  • http://www.acoimbra.com.br Anderson Coimbra

    David.
    Fiz o que vc me falou, e ele estava passando o id corretamente, mas quando voltava para o select ñ dava certo. Foi ai que eu encontrei o problema.

    Na verificação dos campos da cidade, se existe cidade para quele estado eu estava cometendo um erro. Eu uso aspas duplas depois do echo, assim no value do select é preciso colocar as barras invertidas, eu ñ estava fazendo isso, deixando apenas vazio. Esse era o problema. Já ta resolvido. Obrigado.

  • João

    David vlw mano, baseado nessa video aula consegui fazer uma verificacao se o email existe no banco de dados tipo do hotmail. depois que vi essa aula fiz algumas mudancas e consegui.

    • http://www.videoaulasbrasil.com.br David CHC

      @João, isso é muito bom, vc adaptar a aula a suas necessidade, isso significa q vc entender como funcionar a requisição para outra pagina utilizando jQuery.

  • valter rodrigues

    Olá David CHC, olha eu aqui de novo hehe,

    cara seguinte, mais uma super video aula eim, e me deu uma ideia doida aki,

    assim:
    eu tenho um formulario,
    nesse formulario tem um q lista as paginas do site
    um q refere a o titulo de uma pagina e um que refere a descricao da pagina,

    to tentando fazer o seguinte,

    ao selecionar a pagina no preencher dinamicamente o e o com os devidos valores.

    da pra fazer seguindo mais ou menos a ideia dessa video aula ?
    abcs

    • http://www.videoaulasbrasil.com.br David CHC

      @valter, creio q dá sim. A logica seria essa:

      Com jQuery vc seleciona um item no select, no qual o usuario escolheu.
      Ele pega esse valor, e enviar para uma pagina, onde será realizado alguma pesquisa, e imprimi o valor
      NO jQuery ele pega esse valor, e atribui a algum lugar, no caso da video aula, num select, mas pode ser numa div, ou qualquer outro elemento.

      No caso, se vc tem como atribuir o valor selecionado, e filtrar, podendo ser num banco de dados, ou pasta. Creio q vc consegue fazer sim, sem problemas.

  • valter rodrigues

    bom, eh q acho q nao entendeu hehe,
    assim eu concigo fazer ele mudar no input, e no textarea, mas eu queria mudar em ambos atravez de uma unica pesquisa, tem como?
    ou tem q fazer um script jQuery pra cada elemento e na pagina.

    e isso eh pra area administrativa do site e tals, pra dar um update nas paginas…

    • http://www.videoaulasbrasil.com.br David CHC

      @valter rodrigues, no caso não. O problema não na hora solicitar a pesquisa, e na hora de retornar. Como retorna apenas 1 resultado ( pelo até o q sei), então vc teria que atribui esse valor a todos , e não valores diferente. NO caso, se retornar um texto, vc pode pegar aquele texto e jogar em qualquer elemento, e quantos quiser. Só q não tem muito serventia, pq só vem um resultado.

      Então no seu caso, para cada resposta diferente, terá q fazer um script

  • valter rodrigues

    um , q mao de obra rs, mas ainda assim eh muito simple com jQuery neh? hehe

    mas agora to com outro problema, nao to conceguindo manipular o valor do textarea por q eu implemente o tinymce, conhece esse editor? sera q tem como manipular valor de textarea com essa coisa nele? rs

    tentei tbm com o nicEdit e nao deu.:S

  • Urbano

    Sempre tentava fazer esse combo dinamico apenas com php, mas nunca consegui!!! teria alguma forma mesmo ou não tem como. Pensava assim: quando dava um select em estado, sendo true – dá um select em cidades com o id = ao id do estado!! .

    • http://www.videoaulasbrasil.com.br David CHC

      @Urbano, só se vc enviar essa informação via URL, e não isso q vc quer fazer. Para interação com formulário, vc terá q usar javascript, só com PHP vc não vai consegui o efeito desejado

  • Urbano

    David, estou usando esse script da combo dinamico, muito bom!!. Soh não estou conseguindo fazer uma coisa:
    Por ex. na hora de alterar os campos do form, para recupera-los, nos input type ‘text’ colocamos os values=xxx, no caso do campo de select como o estado, no caso, coloco por ex soh exemplificando: .dadosU[id] = dados[id] ? selected = ‘selected’ : ” “. ele recupera os dados do banco.
    Agora não estou conseguindo capturar o da cidade, devido ir para uma outra pagina ex.cidade.php através de um post do jquery. tentei fazer esse comando na pagina ‘cidade.php’. nao funcionou.
    Valeu!

    • http://www.videoaulasbrasil.com.br David CHC

      @Urbano, vc tem já o id do estado, basta a partir dai filtrar na tabela cidade para mostrar as cidades na pagina.

      http://pastebin.com/CcP3i1VA

  • Urbano

    É o seguinte, to na duvida se esse codigo é na pagina da cidade.php ou no index, porque as cidades so aparecem qd escolher o estado com o evento change.
    fiz o codigo na cidade php, só que qd mando editar por ex. o cadastro de cliente, o estado ja vem selecionado, mas a cidade ainda naum, soh vem depois que escolhe o estado.
    valueu!

    • http://www.videoaulasbrasil.com.br David CHC

      @Urbano, aquele código vai aonde vai listar as cidades e estados, onde o usuario vai escolher. Não vai ser a parte do ajax, aquela vc não precisa mudar, exemplo (não coloquei o codigo jQuery pra não ficar confuso, e os nomes dos campos e tabelas provavelmente serão diferente)

      http://pastebin.com/4Lv2gPTX

  • Urbano

    Valeu!! Entendi..
    David, dá uma olhada nesse codigo abaixo, porque apenas está retornado o array 0; os demais nao estao retornando.
    Tenho uma tabela cores por ex.
    1 Branco
    2 Branco/Azul
    3 Preto

    uma outra tabela Produto
    que tem o id da tabela cores
    id_cor:
    http://pastebin.com/4fQ5UBBT
    Valeu!

    • http://www.videoaulasbrasil.com.br David CHC

      @Urbano, pelo q vc me mostrou, vc tá enviando varios ID de cores, separado por virgula, pelo menos é o q parece, então vc pode então utilzar IN, exemplo

      http://pastebin.com/YxtGZ1nf

      Dessa maneira vc só faz uma consulta.

  • Urbano

    David, é isso mesmo!!
    Valeu!

  • Vagner

    Ola nossa essa video aula me salvou de um problemão, só tive um problema, coloquei esse código junto ao meu que faz um cadastro no meu banco de dados mas o botão de gravar não faz nenhuma ação segue link dapagina de teste: http://www.autorenault.com.br/admin/index.php?pg=form_add_carro&cat=seminovo

    • http://www.videoaulasbrasil.com.br David CHC

      @Vagner, acabei de testar, e gravou normalmente

  • Vagner

    Estranho que no Crome e no Firefox foi normal mas no bedito do Internet Explorer não funcionou

  • http://www.olhachei.com.br Ernani José

    Gostei bastante da sua video-aula, bem didática, valew mesmo mais uma vez, assisto suas outras video-aulas e recomendo suas aulas, pois são de facil compreensão e vc ajuda muito, abraços

    • http://www.videoaulasbrasil.com.br David CHC

      vlw @Ernani

  • Urbano

    david, vamos supor que no select dos estados venha apenas um estado do banco de dados, só que este mesmo estado tenha várias cidades relacionaas. Como fazer se no select vai aparecer apenas um estado para selecionar. Ele nao vai reconhecer a funcao abaixo, devido nao ter um change.
    ://$(“select[name=estados]“).change(function(){// .
    Nao sei se fui bem claro

    • http://www.videoaulasbrasil.com.br David CHC

      @Urbano, no caso vc sempre vai colocar no select um campo vazio, tipo, escolha um estado, dessa maneira não haverá esse problema.

  • Leandro fernando Oliveira

    David, tudo
    bom? Surgiu-me uma idéia e não estou conseguindo executa La, Ex: Eu seleciono
    um estado, com isso vêm às cidades daquele estado e eu quero que apareça também
    os meus clientes daquela cidade, tem como? Fico muito grato se puder me ajudar.

    • http://davidchc.wordpress.com David CHC

      Tem sim, basta vc duplicar o código do jquery, para seleciona o select ao mudar o estado ( change), é da mesma maneira.

  • Maureucio

    velho … eu consegui fazer …  muito bom a vídeo aula porém tenho bugs:

    Lista de estados com acentos não consegui resolver ( todos os browsers) e no IE não funciona 

    • http://davidchc.wordpress.com David CHC

      Todos os arquivos , banco , tem q está com o mesmo charset, senão pode dá problema.

      Outro item, o código q faz a pesquisa das cidades, sem q ter apenas a tag de html do option, sem tag html, body,meta tag, etc

      • Maureucio

        Perfeito velho …  consegui resolver todos os bugs …  o erro de acentuação foi pq dupliquei o HEAD e o bug no internet explorer foi por que a página cidades estava com todas as tags do documento HTML ..  kkkkkkk  …  coisas de iniciante ….  valew !!!

  • Maureucio

    bom … já consegui resolver o problema com a acentuação .. o erro foi meu q dupliquei o …  mas continua sem funcionar no IE !!!

  • Maureucio

    velho…  olha só adaptei mais um combo , fiz uma estrutura GENERO/ARTISTA/MÚSICA .. consegui popular as 3 , quando seleciono o genero X, a combo “artista” já popula (normal), porém ela já entra com o 1° artista mas esse artista só é selecionavel para popular a combo “musica” c eu selecionar outro artista 1°, quando seleciono outro  artista a combo ” musicas popula (normal também). Caso eu queira trocar de genero, a combo artista popula normalmente porem a combo musicas não despopula , como resolver ???  

    • http://davidchc.wordpress.com David CHC

      Vc precisar resetar, ao selecionar o gênero :

      $(“#genero”).change(function(){
      $(this).html(‘Carregando’);
      $(“#artista”).html(‘Carregando’);
      $(“#musica”).html(‘Carregando’);

      });

  • Guilherme Kocher

    David gostaria de saber se é possivel modificar esse código para quando eu digitar algo em um campo type=”text” ele fazer uma busca no banco de dados para ver se o valor digita já não consta como um e-mail de cadastro ou nome de usuário por exemplo, isso é possivel ?

    • http://davidchc.wordpress.com David CHC

      Sim é possivel, vc pode utilizar o evento blur, q dispara uma ação ao retirar o mouse do campo

      $(“#txtEmail”).blur(function(){

      });

      • Guilherme Kocher

        Certo, mas dai para eu chamar a função do php teria que ser em outra pagina como explicado na video aula corre ? Se sim como faria essa chamada ?

        Obrigado.

        • http://davidchc.wordpress.com David CHC

          Seria da mesma maneira que foi feito na videoaula. Essa informação seria enviada para uma pagina, vc realizaria a pesquisa, retornaria um valor, e vc adicionaria a um elemento, na videoaula foi adicionado num select, as vc adicionar a qualquer elemento.

  • http://davidchc.wordpress.com David CHC

    Mas essa busca é na parte do ajax ? Se for , utilize o firebug do firefox, o que está retornando


Hospedado por Hostnet - Hospedagem de sites

VAB - Todos os direitos reservados - 2008 / 2012

Developed by: MX Web Studio

Mais em PHP (193 of 198 articles)