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.
Maio 25th, 2009 em 12:20 pm
Vai ajudar muita gente!
Maio 25th, 2009 em 12:37 pm
huauhauhuha
Maio 25th, 2009 em 1:14 pm
mxmasters rulando na net
Maio 25th, 2009 em 2:29 pm
Vc, e o novo gurú php do mx-masters comunity-
Brigado vc, muito brigado.
Parabens pra ttodus e fiquem com deus.
Maio 25th, 2009 em 3:10 pm
Maio 25th, 2009 em 3:52 pm
Maio 25th, 2009 em 4:38 pm
Maio 25th, 2009 em 5:04 pm
Show, show, show show, shoooowwwwww!!!!!!!
Maio 25th, 2009 em 10:52 pm
Sem duvida nenhuma esse é um bom professor ou melhor ótimo… Parabens.
Ótimo conteúdo, explicação show.
Maio 26th, 2009 em 1:23 am
Parabens!!!
Maio 26th, 2009 em 2:28 am
Maio 26th, 2009 em 11:17 am
MESMO SEM TER AUDIO NO PC DO TRAMPO EU COMSEGUI INTENDER…..
Maio 27th, 2009 em 11:58 am
Maio 27th, 2009 em 8:10 pm
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
Junho 3rd, 2009 em 12:11 am
O resto será muito útil para mim.
Inté
Junho 3rd, 2009 em 9:25 am
Junho 3rd, 2009 em 3:16 pm
Junho 3rd, 2009 em 8:54 pm
Junho 9th, 2009 em 7:13 pm
Junho 11th, 2009 em 12:47 am
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
Junho 11th, 2009 em 2:30 pm
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.
Junho 12th, 2009 em 12:55 pm
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
Junho 15th, 2009 em 4:38 pm
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
Junho 15th, 2009 em 8:30 pm
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
Junho 17th, 2009 em 3:14 pm
Junho 19th, 2009 em 12:12 am
Junho 19th, 2009 em 12:57 pm
Junho 20th, 2009 em 9:11 pm
Junho 23rd, 2009 em 9:40 am
Obrigado por dividir conhecimento.
Junho 25th, 2009 em 10:04 am
Ó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 ??
Junho 25th, 2009 em 10:25 am
Foi mausss…hehe
O artigo mais funcional que ja vi sobre o assunto
mostrou de uma maneira MUITO didática mesmo
Junho 29th, 2009 em 2:46 pm
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.
Julho 1st, 2009 em 3:10 am
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:
Julho 3rd, 2009 em 5:52 pm
Julho 3rd, 2009 em 6:16 pm
Julho 9th, 2009 em 9:42 pm
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.
Julho 10th, 2009 em 8:15 am
Julho 10th, 2009 em 8:20 pm
Muito bom espero uma grande cobertura do site a respeito deste novo DVD, parabéns novamente pelas vídeos-aula
Julho 13th, 2009 em 1:26 pm
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
Julho 13th, 2009 em 3:47 pm
Julho 18th, 2009 em 3:08 am
Julho 18th, 2009 em 9:06 am
Julho 19th, 2009 em 4:06 pm
parabens e sucesso mais e mais
Julho 19th, 2009 em 4:38 pm
Julho 21st, 2009 em 3:24 am
Julho 29th, 2009 em 2:27 am
Valeu
Julho 29th, 2009 em 2:51 am
Obrigado
Julho 30th, 2009 em 2:47 pm
Suas vídeo aulas são ótimas, e tem me ajudado muito.OBRIGADO!!!
Julho 30th, 2009 em 5:43 pm
Agosto 12th, 2009 em 5:07 pm
Agosto 12th, 2009 em 5:51 pm
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
Setembro 1st, 2009 em 5:42 am
ate tentei pegando o script pronto e alterei os dado mysql mas nao deu
a o primeiro txt fied carrega mas o segundo naum
Setembro 1st, 2009 em 9:16 am
Setembro 15th, 2009 em 8:36 pm
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
Setembro 17th, 2009 em 1:37 am
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
Setembro 18th, 2009 em 12:14 pm
Setembro 18th, 2009 em 12:31 pm
Setembro 21st, 2009 em 8:40 pm
Setembro 21st, 2009 em 9:48 pm
Setembro 22nd, 2009 em 11:34 am
Ó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!
Setembro 22nd, 2009 em 4:25 pm
Setembro 27th, 2009 em 8:40 pm
Outubro 3rd, 2009 em 11:06 am
Outubro 7th, 2009 em 1:24 am
Outubro 7th, 2009 em 9:41 am
$(”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/
Outubro 7th, 2009 em 11:37 am
Outubro 9th, 2009 em 1:40 pm
muito mesmo
usei para criar um combo com categoria e subcategoria
Outubro 18th, 2009 em 11:19 pm
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?
Outubro 19th, 2009 em 8:10 am
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
Outubro 20th, 2009 em 6:40 pm
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.
Outubro 20th, 2009 em 7:07 pm
Unknown column ‘nome’ in ‘order clause’
Isso é no sql, veja se esse campo existe na sua tabela, onde vc usou ORDER
Outubro 21st, 2009 em 6:58 am
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
Outubro 21st, 2009 em 10:39 am
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.
Outubro 21st, 2009 em 5:54 pm
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.
Outubro 21st, 2009 em 6:02 pm
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
Outubro 21st, 2009 em 6:12 pm
por isso coloquei o codigo referido em http://www.equilibriodinamico.info clicando no link campo_texto.
abraço.
Outubro 21st, 2009 em 6:14 pm
$(”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/
Outubro 21st, 2009 em 7:18 pm
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.
Outubro 23rd, 2009 em 12:49 pm
Eu me contento se não funcionar de forma dinâmica.
Agraddeço pela moral.
Outubro 26th, 2009 em 12:32 pm
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
Outubro 26th, 2009 em 12:36 pm
<?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'].”;
}
}
?>
Outubro 29th, 2009 em 9:12 am
Outubro 29th, 2009 em 9:24 am
Outubro 30th, 2009 em 8:31 am
Obrigado
Outubro 30th, 2009 em 8:35 am
$(”#conteudo-representate”).html(valor);
Na parte de retorna os dados, informei q quero inserir os dados um elemento com id #conteudo-representate.
Novembro 14th, 2009 em 10:07 am
Será que você poderia postar uma vídeo aula com 3 campos combos dimânicos, tipo [Estado] [Cidades] e [Bairros] só como exemplo?
Novembro 14th, 2009 em 10:09 am
Novembro 15th, 2009 em 11:51 pm
muito bom, continue nos ajudando
Novembro 18th, 2009 em 9:48 am
e dale html…rsrs
Novembro 26th, 2009 em 9:47 am
Grande abraço
Novembro 27th, 2009 em 7:51 am
Novembro 27th, 2009 em 8:29 am
$(”select[name=cidade]“).html(’Carregando…’);
Novembro 27th, 2009 em 9:01 am
Novembro 27th, 2009 em 9:42 am
Novembro 27th, 2009 em 9:43 am
Novembro 27th, 2009 em 9:43 am
Novembro 27th, 2009 em 2:51 pm
Novembro 29th, 2009 em 11:00 am
function(valor){
alert(valor);
}
Para verifica se tá retornando ou não algum valor.
Novembro 30th, 2009 em 11:38 am