fellipe_zambrano Postado Outubro 6, 2012 Denunciar Share Postado Outubro 6, 2012 Oi Pessoal, tudo bem???Terminei um curso de PHP há uma semana e estou dando os primeiros passos...tendo bastante dificuldade, rsss.Veja se voces podem me ajudar:Montei um combo que tem os resultados vindos a partir de uma consulta no SQL e o combo esta funcionano ok.Meu problema é que eu não sei como faço para recuperar o valor selecionado pelo usuário, meu código é o seguinte:<?php include("conexao_2.php"); $sql="select distinct setor from dados"; $resultado=mysql_query($sql,$conexao); echo '<form method = "post" action="index.php"> <select name="setor_">'; while($dados=mysql_fetch_array($resultado)){ echo"<option value=".$dados['setor'].">".$dados['setor']."</option>"; }echo"</select> </form>"; $var_setor=$_POST['setor_'];?>O que está acontecendo é que não consigo recuperar a variável, também não sei se a metodologia que estou utilizando é a adequada.Eu preciso ter um form nesse caso??Quando desativo a linha $var_setor=$_POST['setor_']; o codigo funciona, quando ativo ele dá erro.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dedas Postado Outubro 8, 2012 Denunciar Share Postado Outubro 8, 2012 (editado) Cara, o erro está sendo gerado porque você está criando um variável onde o valor setado pra ele é nulo. Crie uma pequena condição para que esse erro não mais apareça.Troque essa linha<?php $var_setor=$_POST['setor_']; ?> Por essa <?php //A função isset() verifica se a variável existe ou não. if(isset($_POST['setor_'])){ $var_setor = $_POST['setor_']; } ?>Lembrando que você precisa submeter esse seu formulário para que você consiga pegar o valor. Editado Outubro 8, 2012 por dedas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fellipe_zambrano Postado Outubro 9, 2012 Autor Denunciar Share Postado Outubro 9, 2012 Oi Dedas.Muito obrigado pela ajuda.Com o Isset realmente não está mais dando o erro que estava ocorrendo anteriormente, mas eu continuo não conseguindo recuperar a variavel selecionada.Pra conseguir fazer isso, necessariamente o combo tera que estar dentro de um formulario?Se a resposta for sim, eu terei que ter um botao de submit para conseguir recuperar a variavel posteriormente?Eu não gostaria que o usuario necessitasse clicar no submit, gostaria que ao escolher a opcao o site interagisse automaticamente.Veja se voce consegue me ajudar: Com esse codigo que passei, o que precisaria fazer para escrever na propria tela o numero selecionado???Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dedas Postado Outubro 9, 2012 Denunciar Share Postado Outubro 9, 2012 (editado) Agora eu entendi sua necessidade :) Você consegue fazer isso através de javascript. Editado Outubro 9, 2012 por dedas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fellipe_zambrano Postado Outubro 9, 2012 Autor Denunciar Share Postado Outubro 9, 2012 Seria pedir muito que você ou algum colega me enviasse um exemplo?Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dedas Postado Outubro 9, 2012 Denunciar Share Postado Outubro 9, 2012 (editado) Acho que isso deve te ajudar :) Se não entender alguma coisa desse exemplo ou então ficar com dúvida no processo de implementação no seu código, pode perguntar :]<script type="text/javascript"> function exibeMes(valor){ document.getElementById("exibe-valor-select").innerHTML = valor; return false; } </script> <form id="formulario"> <select name="select" id="select" onchange="java script:exibeMes(this.value);"> <option value="janeiro">janeiro</option> <option value="fevereiro">fevereiro</option> <option value="março">março</option> <option value="abril">abril</option> <option value="maio">maio</option> <option value="junho">junho</option> </select> </form> <div id="exibe-valor-select"></div> Editado Outubro 9, 2012 por dedas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fellipe_zambrano Postado Outubro 9, 2012 Autor Denunciar Share Postado Outubro 9, 2012 Dedas, mais uma vez obrigado pela ajuda.Eu entendi mais ou menos o que voce fez, voce criou uma funcao no javascript e na condicao change do select, a funcao do java deve ser ativada, me dando o resultado selecionado.O que eu não entendi é: esse codigo que voce me deu, seria suficiente pra escrever na tela o mes selecionado???pois eu copiei e colei num arquivo PHP e não tive retorno da variável.Tentei escrever o nome da variavel atraves de um post com o nome do combo (select):<?phpif(isset($_POST['select'])){echo $_POST['select'];}?>mas tambem o resultado foi nulo.Obrigado mais uma vez por sua boa vontade. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fellipe_zambrano
Oi Pessoal, tudo bem???
Terminei um curso de PHP há uma semana e estou dando os primeiros passos...tendo bastante dificuldade, rsss.
Veja se voces podem me ajudar:
Montei um combo que tem os resultados vindos a partir de uma consulta no SQL e o combo esta funcionano ok.
Meu problema é que eu não sei como faço para recuperar o valor selecionado pelo usuário, meu código é o seguinte:
<?php
include("conexao_2.php");
$sql="select distinct setor from dados";
$resultado=mysql_query($sql,$conexao);
echo '<form method = "post" action="index.php">
<select name="setor_">';
while($dados=mysql_fetch_array($resultado)){
echo"<option value=".$dados['setor'].">".$dados['setor']."</option>";
}
echo"</select>
</form>";
$var_setor=$_POST['setor_'];
?>
O que está acontecendo é que não consigo recuperar a variável, também não sei se a metodologia que estou utilizando é a adequada.
Eu preciso ter um form nesse caso??
Quando desativo a linha $var_setor=$_POST['setor_']; o codigo funciona, quando ativo ele dá erro.
Obrigado.
Link para o comentário
Compartilhar em outros sites
6 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.