walace 1 Denunciar post Postado Setembro 6, 2005 Baixei este da net e alterei para minha necessidade. Aparentemente parece ser meio complicado, mas foi o mais fácil que achei... e funcionou de primeira. PHP <html> <head> <title>Auto Drop Down com PhP e MySQL</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <?php include("inc/conecta.php"); ?> <script LANGUAGE="JavaScript"> team = new Array( <? # Seleciona todos os projetos cadastrados $sql="select * from projeto order by procod"; $sql_result=mysql_query($sql, $conexao); $num=mysql_numrows($sql_result); while ($row=mysql_fetch_array($sql_result)){ $conta=$conta+1; $procod=$row["procod"]; echo "new Array(n"; $sub_sql="select DISTINCT fastit,fasseq from fase where procod= $procod order by fasseq"; $sub_result=mysql_query($sub_sql, $conexao); $num_sub=mysql_numrows($sub_result); if ($num_sub>=1){ # Se achar alguma fase para o projeto marca a palavra Todas //echo "new Array("Todas", 0),n"; while ($rowx=mysql_fetch_array($sub_result)){ $codigo_sub=$rowx["fasseq"]; $sub_nome=$rowx["fastit"]; $conta_sub=$conta_sub+1; if ($conta_sub==$num_sub){ echo "new Array("$sub_nome", $codigo_sub)n"; $conta_sub=""; }else{ echo "new Array("$sub_nome", $codigo_sub),n"; } } }else{ echo "new Array("Sem Sub-Itens", 0)n"; #Se nao achar fase para o projeto selecionado... } if ($num>$conta){ echo "),n"; } } echo ")n"; echo ");n"; ?> //Inicio da função JS function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) { var i, j; var prompt; for (i = selectCtrl.options.length; i >= 0; i--) { // empty existing items selectCtrl.options[i] = null; } prompt = (itemArray != null) ? goodPrompt : badPrompt; if (prompt == null) { j = 0; } else { selectCtrl.options[0] = new Option(prompt); j = 1; } if (itemArray != null) { // add new items for (i = 0; i < itemArray.length; i++) { selectCtrl.options[j] = new Option(itemArray[i][0]); if (itemArray[i][1] != null) { selectCtrl.options[j].value = itemArray[i][1]; } j++; } selectCtrl.options[0].selected = true; // select first item (prompt) for sub list } } </script> <center> <form name="form1" method="post" action=""> <p>Aqui também temos itens a ser observados, verifique no codigo fonte</p> <p><b> <br> <select name="projeto" onChange="fillSelectFromArray(this.form.fase, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));"> <option>Escolha uma Categoria</option> <? #Seleciona todos os projetos para setar os valores no combo $sql="select * from projeto order by procod"; $sql_result=mysql_query($sql, $conexao); while ($row=mysql_fetch_array($sql_result)){ $procod=$row["procod"]; $desc_categoria=$row["protit"]; ?> <option value="<?echo $procod;?>"> <?echo $desc_categoria;?> </option> <? } #Popula o segundo combo de acordo com a escolha no primeiro ?> </select> <br> <select name="fase"> <option>---------------</option> </select> </b> </p> </form></center> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites