milka Postado Fevereiro 21, 2007 Denunciar Share Postado Fevereiro 21, 2007 Olá,gostaria de saber como eu faço pra pegar o valor do item selecionado em um select(combo).Com eu jogo esse valor em uma variavel para fazer um select * from usando ela...?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 21, 2007 Denunciar Share Postado Fevereiro 21, 2007 <select name="teste"> opções </select> $opcao = $_POST['teste'];[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milka Postado Fevereiro 21, 2007 Autor Denunciar Share Postado Fevereiro 21, 2007 Neste código estou tentando fazer com que selecionado um item no primeiro sejam retornados apenas itens relacionados a este no segundo...No caso deste código, onde ficaria essa variavel ?Nossa, já pesquisei bastante sobre isso e ainda não consegui fazer, uns falam em ajax outros com apenas javascript e eu nunca trabalhei com nada disso. Levando em consideração que estaou a apenas 3 semanas no PHP...Enfim já tentei com ajax, com javascript e cheguei nesse código...Mas não estou conseguindo filtrar apenas as tarefas referentes ao projeto selecionado...<?include "conectar.php";?><html><script Language="JavaScript">function getStates(what) {if (what.selectedIndex != '') {var estado = what.value;document.location=('hello.php?estado='+ estado);}}</Script><body><select name="select" onChange="getStates(this);"><option value="">Selecione um projeto</option><?php$dados= pg_query($connect, "SELECT nm_projeto, id_projeto FROM tb_projeto ORDER BY id_projeto");while($campo = pg_fetch_array($dados)){?><option value="<?echo $campo['id_projeto']?>"><? echo $campo['nm_projeto']?></option><? } ?></select><?php$dados_tarefa = pg_query($connect, "SELECT * FROM tb_tarefa WHERE ORDER BY id_tarefa");?><select name="cidade" size=1><option value="">selecione uma tarefa</option><?while($campo_tarefa = pg_fetch_array($dados_tarefa)){// $city = $campo_tarefa[1];// $id2 = $campo_tarefa[0];?><option value="<? echo $campo_tarefa['id_tarefa']?>"><? echo $campo_tarefa['nm_tarefa']?></option><? }?></select></body></html>[/codebox] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 21, 2007 Denunciar Share Postado Fevereiro 21, 2007 Não entendi dieiro, mas veja se é mais ou menos isto que você quer:<?include "conectar.php";?><html><script Language="JavaScript">function getStates(what) {if (what.selectedIndex != '') {var projeto = what.value;document.location=('hello.php?projeto='+ projeto);}}</Script><body><select name="projeto" onChange="getStates(this.value);"><option value="">Selecione um projeto</option><?php$projeto = isset($_GET['projeto']) ? $_GET['projeto'] : "";$dados= pg_query($connect, "SELECT nm_projeto, id_projeto FROM tb_projeto ORDER BY id_projeto");while($campo = pg_fetch_array($dados)){echo "<option value=\"". $campo['id_projeto']."\"". (($campo['id_projeto'] == $projeto) ? " selected=\"true\"" : "") .">". $campo['nm_projeto'] ."</option>\r\n";}?></select><?phpif ($projeto != ""){ $dados_tarefa = pg_query($connect, "SELECT * FROM tb_tarefa WHERE campo = '". $projeto ."' ORDER BY id_tarefa"); echo " <select name=\"cidade\"> <option value=\"\">selecione uma tarefa</option>"; while($campo_tarefa = pg_fetch_array($dados_tarefa)) { // $city = $campo_tarefa[1]; // $id2 = $campo_tarefa[0]; echo " <option value=\"". $campo_tarefa['id_tarefa']."\">". $campo_tarefa['nm_tarefa'] ."</ option>\r\n"; } echo "</select>";}?></body></html>[/codebox][]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milka Postado Fevereiro 22, 2007 Autor Denunciar Share Postado Fevereiro 22, 2007 (editado) Consegui finalmente !!!Aí mais ainda esta com umas falhas...Quando eu seleciono um Projeto a pagina atualiza pra chamar as tarefas relacionadas a este e quando atualiza apaga todas as informações que preenchi nos outros campos e não fica o nome do projeto selecionado...voltando assim para a frase "Selecione um Projeto"O código esta assim:<? //Inicia a sessão session_start(); include "conectar.php"; $login_colaborador = $_SESSION['login']; ?> <HTML> <script Language="JavaScript"> function getStates(what) { if (what.selectedIndex != '') { var estado = what.value; document.location=('andamento.php?estado='+ estado); } } </Script> <BODY> <table width="55%" align="center" border="0" height="210" > <form method="POST" action="acao_andamento.php"> <TR> <TD align="right" valign="bottom" ><font face = "verdana" size="2"><b>PROJETO:</b></font></TD> <TD valign="bottom"> <select name="select" onChange="getStates(this);"> <? $selecionado = $_GET['estado']; ?> <option value="">Selecione um Projeto</option> <?php $dados= pg_query($connect, "SELECT nm_projeto, id_projeto FROM tb_projeto ORDER BY id_projeto"); while($campo = pg_fetch_array($dados)) { ?> <option value="<?echo $campo['id_projeto']?>"><? echo $campo['nm_projeto']?></option> <? } ?> </select> </TD> </TR> <TR> <TD align="right" valign="bottom"><font face = "verdana" size="2"><b>TAREFA:</b></font></TD> <TD valign="bottom"> <select name="cidade" size=1> <option value="">Selecione uma tarefa</option> <? $dados_tarefa = pg_query($connect, "SELECT * FROM tb_tarefa WHERE id_projeto = '$selecionado' ORDER BY id_tarefa"); while($campo_tarefa = pg_fetch_array($dados_tarefa)) { ?> <option value="<? echo $campo_tarefa['id_tarefa']?>"><? echo $campo_tarefa['nm_tarefa']?></option> <? } ?> </select> </TD> </TR> <TD align="right" valign="bottom" ><font face = "verdana" size="2"><b>COLABORADOR:</b></font></TD> <TD valign="bottom"><select name="combo_colaborador_andamento" lenght="50" disabled=""> <?php $dados= pg_query($connect, "SELECT nm_colaborador FROM tb_colaborador WHERE UPPER(login)= UPPER('$login_colaborador') ORDER BY id_colaborador"); while($campo = pg_fetch_array($dados)) { ?> <option value="<?echo $campo['nm_colaborador']?>"><? echo $campo['nm_colaborador']?></option> <? } ?> </select> </TD> </TR> <TR> <TD align="right" valign="bottom"><font face = "verdana" size="2"><b>DATA:</b></TD> <TD valign="bottom"><input type = "text" name="data_andamento" value="<?php echo(date("d/m/Y"));?>" size="22" length="20" ></font></TD> </TR> <TR> <TD align="right" valign="bottom"><font face = "verdana" size="2"><b>HORA INÍCIO:</b></TD> <TD valign="bottom"><input type = "text" name="hora_inicio_andamento" value="<?php echo(date("h:i"));?>" size="22" length="20" ></font></TD> </TR> <TR> <TD align="right" valign="middle"><font face = "verdana" size="2"><b>COMENTÁRIO:</b></TD> <TD><textarea cols="50" rows="" name="" wrap=""></textarea></TD> </TR> <TR> <TD align="right" valign="bottom"><font face = "verdana" size="2"><b>HORA FIM:</b></TD> <TD valign="bottom"><input type = "text" name="hora_fim_andamento" size="22" length="20" ></font></TD> </TR> </table> </form> </BODY> </HTML>[]s Editado Fevereiro 22, 2007 por milka Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 22, 2007 Denunciar Share Postado Fevereiro 22, 2007 Veja o que eu coloquei no primeiro select:(($campo['id_projeto'] == $projeto) ? " selected=\"true\"" : "")Isso é tipo um if. Se o valor vindo da URL for igual ao atual do laço while, aparece selected="true".[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milka Postado Fevereiro 22, 2007 Autor Denunciar Share Postado Fevereiro 22, 2007 valeu !!! Menos um...rsrsrs ;) Agora falta apenas eu descobrir alguma forma de não apagar meus dados quando atualizo a página..Acho que dessa forma não dá não é? !? Voce tem alguma ideia ou só com ajax é que não acontece isso ?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Fevereiro 22, 2007 Denunciar Share Postado Fevereiro 22, 2007 A solução mais simples seria colocar esses select's no começo do formulário, para que sejam preenchidos primeiro.Outra forma é usando sessões. Nesse caso, você teria que mudar a função JS. No lugar de location.href colocar nome_fom.submit(); assim o formulário será enviado ao mudar a opção. Daí você teria que fazer:$_POST['campo'] = $_SESSION['campoe']; Mas teria de haver umna validação, pois, se somente o select for preenchido, terá de voltar à página do formulário. No form, teria de fazer isto nos values: <input type="text" value="<?php echo (isset($_SESSION['campo']) ? $_SESSION['campo'] : ""); ?>" />...para que o formulário volte com os valores dos campos já preewnchidos. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
milka
Olá,
gostaria de saber como eu faço pra pegar o valor do item selecionado em um select(combo).
Com eu jogo esse valor em uma variavel para fazer um select * from usando ela...?
[]s
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.