Jump to content


Photo

Pegar Valor Escolhido Pelo Usuário No <Option>


  • Faça o login para participar
2 replies to this topic

#1 Lady_Ju

Lady_Ju

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Feminino
  • Localidade:Belo Horizonte - MG

Posted 07/12/2010, 15:19

Boa tarde

Estou aprendendo PHP agora, li os fóruns anteriores e não achei nenhum que fosse exatamente o que eu precisava.
Tentei fazer igual aos que achei por aqui, mas não resolveu meu problema

Tenho um arquivo .php com um formulário de cadastro.
todos os campos são <input type="text" id="">
mas dois eu estou usando
<select name="" id="">
<option value=""></option>

Quando submeto os campos para inserir no banco de dados, insere normalmente os valores do input...mas do select com a opção escolhida não!

Minha dúvida é: como "pegar" a opção escolhida.

Segue um pedaço do código:

<body>
<?php
  //incluindo o arquivo de conexão com o banco de dados
include('conection.php');

	 if(isset($_POST["enviar"])){ 
	 
	   $id_categoria = $_POST['id_categoria'];
	   $categoria_nome = $_POST['nome_categoria'];	
	   $descricao_categoria = $_POST['descricao'];
	   $pergunta = $_POST['pergunta'];  
	   ?>
       <?php
	   echo $id_categoria, $categoria_nome, $descricao_categoria, $pergunta; /*somente para verificar quais campos eu consegui pegar o valor*/
	   ?>
       <?php

           	//query para inserir os dados
			 $sql = "INSERT INTO `perguntas`( `id_pergunta` , `categoria_nome` , `descricao_categoria` , `pergunta`)VALUES (NULL, '$categoria_nome', '$descricao_categoria', '$pergunta');";
		mysql_query($sql);
		echo "<script>location.href='pagina_cadastro_pergunta.php';</script>";
	
}
	 }
?>
</div>
<div id="formulario_pergunta">
<form id="cadastro_pergunta" name="cadastro_pergunta" method="post" action="" onsubmit="">
<p>Nome da categoria&nbsp;<select name="categoria_nome" id="categoria_nome">
            		<option value="$categoria_nome">Escolha uma categoria</option>
                    
            <?php 
			   //incluindo o arquivo de conexão com o banco de dados
			  //query para inserir os dados
			  $sql = mysql_query("SELECT DISTINCT nome_categoria, id_categoria FROM categoria", $db);
			
				while($row = mysql_fetch_array($sql))
				{
					$categoria_nome = $row['nome_categoria'];
					$id_categoria = $row['id_categoria'];					 
            		echo '<option value="'.$categoria_nome.'">'.$categoria_nome.'</option>';		
				
							
				}
			?>
            </select></p>
<p>Descri&ccedil;&atilde;o da categoria&nbsp;<select name="id_categoria" id="descricao_categoria">
                             <option value="descricao_categoria">Escolha uma descrição</option>
                             <?php
							   //query para inserir os dados
							   $sql = mysql_query("SELECT DISTINCT descricao, id_categoria FROM categoria", $db);
							   
							   while($row = mysql_fetch_array($sql))
							   {
								   $descricao_categoria = $row['descricao'];
								   $id_categoria = $row['id_categoria'];
								   echo '<option value="'.$id_categoria.'">'.$descricao_categoria.'</option>';
								   /*$descricao = document.getElementById('descricao').value;*/
							   }
							  ?>                              
                              </select></p>  
                              
<p>Digite a pergunta<input type="text" name="pergunta" id="pergunta" size="100" /></p>
<input type="submit" id="enviar" name="enviar" value="Salvar" />
</form>
</div>
</body>

è mais ou menos isso...não posto o código inteiro pois é da empresa.
De qualquer forma..a questão é que se eu der um echo nas variaveis antes de submeter...ele pegar os valores do select...mas depois que aperto o botão Salvar...já não pega mais.

Alguém sabe onde errei?
Como salvar a opção escolhida pelo usuário?

Desde já agradeço =)

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 07/12/2010, 15:47

O campo é "categoria_nome" e você usou $_POST['nome_categoria']...

#3 Lady_Ju

Lady_Ju

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Feminino
  • Localidade:Belo Horizonte - MG

Posted 07/12/2010, 16:08

No banco de dados categoria o nome é nome_categoria

mesmo assim troquei o nome da variável para categoria_nome e não deu certo!!
=/ não está pegando o valor selecionado.

Opa..opa...já resolvi...
o problema estava mesmo no nome da variável...não lá em POST
mas
aqui

Código Funcionando e adicionando no banco
<p>Descri&ccedil;&atilde;o da categoria&nbsp;<select name="descricao_categoria" id="descricao_categoria">
                             <option value="descricao_categoria">Escolha uma descrição</option>
                             <?php
							   //query para inserir os dados
							   $sql = mysql_query("SELECT DISTINCT descricao, id_categoria FROM categoria_quiz", $db);
							   
							   while($row = mysql_fetch_array($sql))
							   {
								   $descricao_categoria = $row['descricao'];
								   $id_categoria = $row['id_categoria'];
								   echo '<option value="'.$descricao_categoria.'">'.$descricao_categoria.'</option>';
							  }
							  ?>                              
                              </select></p>  



Código Anterior para vocês verem o erro
<p>Descri&ccedil;&atilde;o da categoria <select name="id_categoria" id="descricao_categoria">
                             <option value="descricao_categoria">Escolha uma descrição</option>
                             <?php
                                                           //query para inserir os dados
                                                           $sql = mysql_query("SELECT DISTINCT descricao, id_categoria FROM categoria", $db);
                                                           
                                                           while($row = mysql_fetch_array($sql))
                                                           {
                                                                   $descricao_categoria = $row['descricao'];
                                                                   $id_categoria = $row['id_categoria'];
                                                                   echo '<option value="'.$id_categoria.'">'.$descricao_categoria.'</option>
';
                                                                   /*$descricao = document.getElementById('descricao').value;*/
                                                           }
                                                          ?>                              
                              </select></p>  


Sei lá por que achei que deveria passa a id da categoria informada no banco...esse foi meu erro!!!

Resolvido...desculpa ocupei tópico atoa..mas MUITO OBRIGADA LeoB..se tu não tivesse me chamado a atenção pro nome das variáveis eu nunca teria visto isso!!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq