thinkbrunus Posted November 3, 2009 at 04:55 PM Report Share #294521 Posted November 3, 2009 at 04:55 PM Viva! Estou a tentar criar um formulário com várias combos dinâmicas, e apenas está a funcionar a 1ª combo, a 2ª já deixa de funcionar. Para ser mais explicito estou a fazer o seguinte: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TITLE</title> </head> <body> <div id="Container"> <div id="Contents"> <form> <table class="layout"> <tr class="texto"> <td>Divisão</td> <td colspan="2"><select name="combo_divisao" id="combo_divisao"> <option value="<?=$rs['idDivisao']?>"><?=$rs['nomeDivisao']?></option> </select></td> </tr> <tr class="texto"> <td>Utilizador</td> <td colspan="2"><select name="combo_utilizador" id="combo_utilizador"> <option selected="selected">.: Selecionar :.</option> <?php $sql_a = "SELECT id_utilizador,apelido,posto.sigla AS siglaPosto,classe.sigla AS siglaClasse FROM db_ema.utilizador,db_ema.posto,db_ema.classe WHERE utilizador.id_posto = posto.id_posto AND utilizador.id_classe = classe.id_classe AND id_divisao = '".$rs['idDivisao']."' ORDER BY posto.id_posto ASC,d_prom ASC,antiguidade_relativa ASC"; $query_a = mysql_query($sql_a) or die(mysql_error()); while ($rs_a = mysql_fetch_assoc($query_a)){ echo '<option value="' . $rs_a['id_utilizador']. '">'.$rs_a['siglaPosto'].' ' .$rs_a['siglaClasse'].' '.$rs_a['apelido'].'</option>'; } ?> </select> </td> </tr> <tr class="texto"> <td>Natureza do Serviço</td> <td colspan="2"><select name="combo_natureza_servico" id="combo_natureza_servico" > <option selected="selected">.: Selecionar :.</option> <?php $sql_b = "SELECT * FROM natureza_servico ORDER BY id_natureza_servico"; $query_b = mysql_query($sql_b); while ($rs_b = mysql_fetch_assoc($query_b)){ echo '<option value="' . $rs_b['id_natureza_servico']. '">' . $rs_b['nome']. '</option>'; } ?> </select> </td> </tr> .... .... ... ... </div> </div </body> </html> Tive o cuidado de utilizar outra variavel para a 2ª combo ($rs_b), mas não estou a perceber qual é o problema.... Uma ajudinha por favor! APARTE: Não te esqueças de usar Geshi para tornar o post mais apresentável. 🙂 Link to comment Share on other sites More sharing options...
scorch Posted November 3, 2009 at 05:38 PM Report Share #294531 Posted November 3, 2009 at 05:38 PM Podes usar a mesma variável. Ao reutilizares, estás a poupar memória. Ele dá algum erro SQL? A tabela existe realmente? PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
thinkbrunus Posted November 3, 2009 at 06:03 PM Author Report Share #294532 Posted November 3, 2009 at 06:03 PM Não dá qualquer erro e a tabela existe e tem resultados. O mais curioso é que experimentei colocar alguns valores na combobox para testar (ex: echo '<option value="1">Valor X</option>'👍 e desta forma também não funciona, só funciona em HTML puro, que para o caso não interessa... Nunca tinha visto tal coisa! Link to comment Share on other sites More sharing options...
scorch Posted November 3, 2009 at 06:08 PM Report Share #294533 Posted November 3, 2009 at 06:08 PM Ao fazeres o echo, podes mostrar o código fonte que ele retorna? 👍 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
jcfr Posted November 5, 2009 at 12:07 PM Report Share #294834 Posted November 5, 2009 at 12:07 PM já experimentast ao fazer o echo em vez de utilizares o nome da coluna utilizares a posição da mesma na tabela? do genero: tabela carros: colunas: id | marca | modelo $sql=mysql_query("SELECT * FROM marcas")or die(mysql_error()); $row=mysql_fetch_array($sql); se queres listar o id fazes echo $row[0] se queres listar a marca echo $row[1] e o modelo echo [2] já fiz várias páginas com combos que iam buscar as opções a base de dados e nunca tive problemas tenho este exemplo que está numa página que eu fiz: <table align="left" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" class="informacoes_discretas"> <tr> <td class="marca" align="left" colspan="5"><strong>CARACTERÍSTICAS DA VIATURA</strong></td> </tr> <tr> <td valign="top" class="marca_veiculo" align="left"> </td> <td valign="top" class="marca_veiculo" align="left"> </td> <td class="marca_veiculo" align="left"></td> <td valign="top" class="marca_veiculo" align="left"> </td> <td valign="top" align="left"> </td> </tr> <tr> <td valign="top" width="236" class="marca_veiculo" align="left"> Marca do Automovel: </td> <td valign="top" width="212" class="marca_veiculo" align="left"> <?php $sqlt = mysql_query("SELECT * FROM marcas ORDER BY id ASC") or die (mysql_error()); $quant = mysql_num_rows($sqlt); ?> <select name="marca" id="marca" tabindex="3" class="combos"> <?php while($row = mysql_fetch_array($sqlt)){ ?> <?php if($row[0]!=0){ ?> <option value="<?php echo $row[0] ?>" <?php if (!(strcmp($row[0], $marca))) {echo "selected=\"selected\"";} ?>><?php echo $row[1]?></option> <?php } ?> <?php } ?> </select> * </td> <td class="marca_veiculo" align="left" width="64"> </td> <td valign="top" width="168" class="marca_veiculo" align="left">Modelo: </td> <td valign="top" width="319" align="left"><input name="modelo" type="text" class="modelo" id="modelo" value="<?php echo "$modelo" ?>" />* </td> </tr> <tr> <td valign="top" class="marca_veiculo" align="left"> Ano: </td> <td valign="top" align="left"> <?php $sqlt = mysql_query("SELECT * FROM anos_auto ORDER BY ano DESC") or die (mysql_error()); $quant = mysql_num_rows($sqlt); ?> <select name="ano" id="ano" tabindex="3" class="combos"> <?php while($row = mysql_fetch_array($sqlt)){ ?> <option value="<?php echo $row[1] ?>" <?php if (!(strcmp($row[1], $ano))) {echo "selected=\"selected\"";} ?>><?php echo $row[1]?></option> <?php } ?> </select> <span class="marca_veiculo"> *</span></td> <td align="left"> </td> <td valign="top" class="marca_veiculo" align="left"> Mês: </td> <td valign="top" align="left"> <?php $sqlt = mysql_query("SELECT * FROM meses ORDER BY id ASC") or die (mysql_error()); $quant = mysql_num_rows($sqlt); ?> <select name="mes" id="mes" tabindex="3" class="combos"> <?php while($row = mysql_fetch_array($sqlt)){ ?> <option value="<?php echo $row[0] ?>" <?php if (!(strcmp($row[0], $mes))) {echo "selected=\"selected\"";} ?>><?php echo $row[1]?></option> <?php } ?> </select> </td> </tr> <tr> <td valign="top" class="marca_veiculo" align="left"> Categoria: </td> <td valign="top" align="left"> <?php $sqlt = mysql_query("SELECT * FROM categoria_auto ORDER BY id ASC") or die (mysql_error()); $quant = mysql_num_rows($sqlt); ?> <select name="categoria" id="categoria" tabindex="3" class="combos"> <?php while($row = mysql_fetch_array($sqlt)){ ?> <?php if($row[0]!=0){ ?> <option value="<?php echo $row[0] ?>" <?php if (!(strcmp($row[0], $categoria))) {echo "selected=\"selected\"";} ?>><?php echo $row[1]?></option><?php } ?> <?php } ?> </select> </td> <td align="left"> </td> <td valign="top" class="marca_veiculo" align="left"> Côr: </td> <td valign="top" align="left"> <?php $sqlt = mysql_query("SELECT * FROM cor ORDER BY cor ASC") or die (mysql_error()); $quant = mysql_num_rows($sqlt); ?> <select name="cor" id="cor" tabindex="3" class="combos"> <?php while($row = mysql_fetch_array($sqlt)){ ?> <option value="<?php echo $row[0] ?>" <?php if (!(strcmp($row[0], $cor))) {echo "selected=\"selected\"";} ?>><?php echo $row[1]?></option> <?php } ?> </select> </td> </tr> </table> é apenas um excerto de um formulario como podes ver tenho ai varias combos e vão buscar as opções a base de dados, todas elas funcionam correctamente... tenta basear-te neste exemplo para construir as tuas. qualquer duvida tas a vontade Link to comment Share on other sites More sharing options...
thinkbrunus Posted November 21, 2009 at 05:46 PM Author Report Share #297108 Posted November 21, 2009 at 05:46 PM Obrigado a todos pela vossa ajuda! Acabei por começar a fazer a página do zero e acabou por não dar qualquer problema, devia ser um pormenor daqueles quase invisíveis... Mais uma vez obrigado pela atenção. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now