Concorra a três cursos on-line totalmente grátis:
1. Web Marketing
2. Técnicas de Vendas
3. Marketing Pessoal
Veja como criar aquele famoso combo dinâmico que carrega outro combo pelo Dreamweaver
Grau de Dificuldade: 7
Nesse artigo vamos continuar a configuração do famoso Combo Dinâmico, cujo valor escolhido no primeiro combo determina a composição do segundo. Para quem pegou o trem andando, sugiro a leitura do primeiro artigo.
Em seguida, crie um novo arquivo .php no Dreamweaver e cole o código abaixo:
<?
require_once('Connections/conecta.php');
mysql_select_db($database_conecta, $conecta);
$estado = $_GET['estado'];
$auxsql = "SELECT DISTINCT nome FROM cidades WHERE uf ='{$estado}' order by id";
$sql = mysql_query($auxsql);
if(!$sql){echo mysql_error();exit();}
?>
<?
require_once('while.js'); ?>
Onde:
require_once('Connections/conecta.php'); - include da conexão com o banco.
mysql_select_db($database_conecta, $conecta); - seleção do banco.
$estado = $_GET['estado']; - variável que armazena o estado escolhido no primeiro combo.
$auxsql = "SELECT DISTINCT nome FROM cidades WHERE uf ='{$estado}' order by id"; - consulta de acordo com o parâmetro “estado” escolhido no primeiro banco.
require_once('while.js'); - include do arquivo que monta preenche o segundo combo.
Salve essa página acima como “combo2.php” e crie um novo arquivo javascript que será chamado “while.js”, cujo código-fonte segue abaixo:
while.js:
<script>
loc = new Array(<?=mysql_num_rows($sql)?>)
for (i=0; i < <?=mysql_num_rows($sql)?>; i++) {
loc[i] = new Array(2)
for (j=0; j < 2; j++) {
loc[i][j] = "0"
}
}
<? $j = 0;
while ($linha = mysql_fetch_array($sql)) {?>
loc[<?=$j?>][0] = "<?=$linha[0]?>";
loc[<?=$j?>][1] = "<?=$linha[0]?>";
<?$j++;
}
?>
parent.inicia();
</script>
É isso aí turma, esperam que tenham gostado, qualquer dúvida enviem um email para ronaldosdb@weblivre.net.
Um forte abraço,
Ronaldo dos Santos Silva
Cezar Amorim em 25/06/2008
Gostei muito do seu artigo, estava trabalhando nessa parte do site, porem tambem para na Carregando.... você poderia me ajudar se possível com urgencia em como resolver o problema. O link para a instrução sdq não esta funcionando.
desde ja agradeço e parabéns
Julio Cesar em 05/12/2007
Pessoal, resolvi o problema "Aguarde...o combo está sendo carregado..."
No arquivo "combo2.php" corrija a linha
ERRADA:
$auxsql = "SELECT DISTINCT nome FROM cidades WHERE uf ='{$estado}' order by id";
CORRETO:
$auxsql = "SELECT DISTINCT nome FROM cidades WHERE uf LIKE '$estado' ORDER BY id";
Outro detalhe no arquivo "combo2.php", as linhas abaixo irão mudar de acordo com a sua conexão com o seu banco de dados:
require_once('Connections/conecta.php'); - include da conexão com o banco.
mysql_select_db($database_conecta, $conecta); - seleção do banco.
Dica: Pegue como exemplo a conexão do banco usada no arquivo "combo1.php"
[]´s
JC
Luiz Vieira em 25/10/2007
Não funciona... para em "Aguarde...o combo está sendo carregado" não entendi o motivo...
Wanderlan Lima em 05/08/2007
Fiz tudo conforme descrito no tutorial, mas acabou não rodando. Como nosso amigo acima, Vinicius, parou em "Aguarde...o combo está sendo carregado" onde éu errei ? valeu.
B. Gates em 05/07/2007
Muito bom o tutorial! Funcionou, mas vale ressaltar aos iniciantes que vocês devem fazer modificações no código, por exemplo, a forma como o autor se conecta à sua base de dados é diferente da forma como devemos fazer, cada um em seu micro. DICA: Crie um arquivo .php que seja a configuração de conexão, então no momento que exigir um INCLUDE ou REQUIRE vc substitui pelo nome de seu arquivo. No mais, parabens, excelente!
Luis em 18/06/2007
Meu caro seu post foi-me muito util, só tens uma coisinha. Como vou agarrar o value da cidade na combo1, para inserir na base de dados, sendo o valor o id de cidades.
Vinícius Rocha em 19/05/2006
Ronaldo, fiz tudo conforme descrito no tutorial, mas acabou não rodando. Parou em "Aguarde...o combo está sendo carregado"
Você teria alguma noção de onde pode estar ocorrendo o erro?
Obrigado.
José Augusto em 08/05/2006
Ronaldo bom dia!
Gostei muito de sua materia mas estou comesando agora e gostaria de saber como fazer este mesmo procedimento em asp. Desde já agradeço.
2004-2008 Weblivre.net Todos os direitos reservados.
Quem somos | Política de Acesso | Anuncie | Na Mídia | Seja um Colunista | Sugestão de Pauta | Fale Conosco
Idealização: Webla - Comunicação Digital