Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wilsoncrescencio

Como preencher campo de formulário com dados de radio vindo de um bd

Recommended Posts

Tenho um formulário onde o cliente seleciona a matéria desejada de um radio, o "value" desse rádio é id_materia, eu gostaria de resgatar a materia relacionada à seleção para um outro campo do formulário.

Isso é possível?

Abaixo o código dessa página, ainda em construção.


<?php 
include ('../Connections/head.php');

mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8')
?>
<?php		  

   # ===— Recupero o ID do usuario que foi passado via GET pela URL - essa parte do código evita erro se o registro estiver vazio:  	if (isset($_GET["id"])){ o código aqui dentro}
  	if (isset($_GET["id"])){
   $id = $_GET['id'];}						  

?>

<?php

mysql_select_db($database_config, $config);

$sql = "SELECT id_arquivo, nome_arquivo, abreviatura
       FROM arquivo
	WHERE id_arquivo = $id";

$resultados = mysql_query($sql)
                         or die (mysql_error());
if (@mysql_num_rows($resultados) == 0);
                         echo("");
?>

<link href="../../css/principal.css" rel="stylesheet" type="text/css" />

</head>

<body>
<div id="tudo">

<div id="cntr_tp">
 <div id="topo">
<img src="../../image/pagina/logodetira.png" width="222" height="59">
<?php

while ($res = mysql_fetch_array($resultados)) {
$id = $res[0];
$arquivo = $res[1];
$arquivo = ucwords($arquivo);
$abreviatura = $res[2];
$abreviatura = mb_strtoupper($abreviatura);
?>      
   <div id="cntr_tiulo"><h2 class="ttlyellow">...<?php echo $arquivo;?></h2></div>
 <!--fim de topo--></div>
<!--fim da div id="cntr_tp"--></div>

    <div id="cntr_separa">
    <img src="../image/pagina/separa.png" width="960" height="2" />
<!--fim de separa--></div>

	<div id="cntr_simples">

        <div class="pgd">

         <div class="testa"><?php echo $arquivo;?><!--fim de testa--></div>

<ul id="horizonte">
        <?php include('menu.php'); ?>

<?php

?>

<?php
}
?>  

<form name="upload" id="formtrit" enctype="multipart/form-data" method="post" action="">

<label>
<span class="verdex">Selecione a série (arquivamento)</span><br>
<input type="radio" value="1" name="serie"/>Primeira  <input type="radio" value="2" name="serie"/>Segunda  <input type="radio" value="3" name="serie"/>Terceira
</label><br />
<input name="id_arquivo" type="hidden" value="<?php echo $id;?>" />
<input name="abreviatura" type="hidden" value="<?php echo $abreviatura;?>" />
<?php

mysql_select_db($database_config, $config);

$sqli = "SELECT id_bimestre, bimestre
       FROM bimestre ";

$resultadosi = mysql_query($sqli)
                         or die (mysql_error());
if (@mysql_num_rows($resultadosi) == 0);
                         echo("");
?>
<label>
<span class="verdex">Selecione o bimestre</span><br />

<?php

while ($resi = mysql_fetch_array($resultadosi)) {
$id_bimestre = $resi[0];
$bimestre = $resi[1];
?>  
<input type="radio" name="id_bimestre"  value="<?php echo $id_bimestre;?>"/><?php echo $bimestre;?>


<?php
}
?>  

</label>
<?php

mysql_select_db($database_config, $config);

$sqlo = "SELECT id_materia, id_funcionario, materia, abreviacao
       FROM materia ";

$resulto = mysql_query($sqlo)
                         or die (mysql_error());
if (@mysql_num_rows($resulto) == 0);
                         echo("");
?>
<input name="id_funcionario" type="hidden" value="<?php echo $id_funcionario;?>" />
<label>
<span class="verdex">Selecione a matéria</span><br />

<?php
while ($reso = mysql_fetch_array($resulto)) {
$id_materia = $reso[0];
$id_funcionario = $reso[1];
$materia = $reso[2];
$materia = ucwords($materia);
$abreviacao = $reso[3];
$abreviacao = mb_strtoupper($abreviacao);
?>  
<input type="radio" name="id_materia"  value="<?php echo $id_materia;?>"/><?php echo $materia;?>
/<?php echo $abreviacao;?>


<?php
}
?>  
</label><br />

<label>
<span>Data</span>
<input type="text" name="dia" size="5"/>/
<input type="text" name="mes" size="5"/>/
<input type="text" name="ano" size="5"/>
</label>
<input name="nome" type="text" value="<?php echo $abreviatura;?>_" />
       <input type="hidden" name="MAX_FILE_SIZE" value="10485760">
       <input type="file" name="arquivo"/>
       <label>
       <input name="enviar" type="submit" value="Gravar">
       </label>

</form>

<?php 
if (isset($_POST['enviar'])){
$id_arquivo        =$_POST['id_arquivo'];
$id_bimestre       = $_POST['id_bimestre'];
$id_funcionario    = $_POST['id_funcionario'];
$id_materia        = $_POST['id_materia'];
$serie				=$_POST['serie'];
$nome              = $_POST['nome'];
$dia               = $_POST['dia'];
$mes               = $_POST['mes'];
$ano               = $_POST['ano'];

if($dia == ''){
echo"<script type='text/javascript'>";
 echo "alert('O campo dia não pode ficar em branco!');location.href='index.php'";
echo "</script>";
}
else if($mes == ''){
echo"<script type='text/javascript'>";
 echo "alert('O campo mês não pode ficar em branco!');location.href='index.php'";
echo "</script>";
}
else if($ano == ''){
echo"<script type='text/javascript'>";
 echo "alert('O campo ano não pode ficar em branco!');location.href='index.php'";
echo "</script>";
}	
else{
if(isset($_FILES["arquivo"])){
   $Arquiivo = $_FILES["arquivo"];
   $Pasta_Destino = "../../restrita//";
   $Arquiivo_Nome = $Arquiivo['$nome'];
   move_uploaded_file($Arquiivo['tmp_name'], $Pasta_Destino . $Arquiivo_Nome);
$inserir = mysql_query("INSERT INTO documento (id_arquivo,id_bimestre,id_materia,id_funcionario,serie,nome,dia,mes,ano,documento) VALUES ('$id_arquivo','$id_bimestre','$id_materia','$id_funcionario','$serie','$nome','$dia','$mes','$ano','$Pasta_Destino')") or die(mysql_error());; 
if ($inserir == '')	{
echo"<script type='text/javascript'>";
	echo "alert('Erro ao cadastrar documento');location.href='index.php'";
echo "</script>";
}else{
echo"<script type='text/javascript'>";
       echo "alert('Documenteo cadastrado com sucesso!');location.href='index.php'";
echo "</script>";
}
}
}
}
?>
   <!--fim de container_dados--> </div>    
    <!--fim de pgd--></div>     
  <!--cntr_simples--></div>   
<!--fim de container--></div>         
<!--fim de tudo--></div>

</body>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O ideal seria se você fosse mais específico no seu código e mais claro na sua dúvida. Eu quero te ajudar, mas tente ser mais claro.. e se possível, mostre-me apenas o código que o seu problema envolve. Pode ser? :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar ser mais claro. No código abaixo, através do while, eu resgato os dados de uma tabela de nome materia.

O cliente através do input type="radio" selecionará uma das matérias que ele está vendo(<?php echo $materia;?>). Eu preciso fazer com que a materia por ele selecionada seja gravada no banco de dados através de um campo no próprio formulário. Não o número do id_matéria (selecionada), mas a materia mesmo.

<label>
<span class="verdex">Selecione a matéria</span><br />

<?php
while ($reso = mysql_fetch_array($resulto)) {
$id_materia = $reso[0];
$id_funcionario = $reso[1];
$materia = $reso[2];
$materia = ucwords($materia);
$abreviacao = $reso[3];
$abreviacao = mb_strtoupper($abreviacao);
?>  
<input type="radio" name="id_materia"  value="<?php echo $id_materia;?>"/><?php echo $materia;?>
/<?php echo $abreviacao;?>


<?php
}
?>  
</label><br />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhorou, Wilson. Mas vamos tentar ramificar um pouquinho mais a sua dúvida, okay? O que você quer é que um usuário, ao clicar num radio, envie essa informação (o valor do radio) para o banco de dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade eu preciso que ao clicar num radio, envie o nome da materia relacionada com o valor do radio para outro campo do formulário. Porque essa matéria dará nome ao arquivo gravado. Se isso é que isso é possivel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É algo assim?

 

<script type="text/javascript">

function PassRadioValue() {

	// Armazena na variável o valor do radio
	var ValueContent = arguments[0].value;

	// Armazena na variável o "id" do input que será alterado
	var Target = arguments[1];

	document.getElementById( Target ).value = ValueContent;

}

</script>

<form>

<input type="text" id="Titulo" />
<input type="radio" name="Materia" onClick="javascript:PassRadioValue(this, 'Titulo')" value="iMasters" /> iMasters

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primemiramente muito obrigado por sua ajuda e dedicação.

É quase isso.

Se você puder observar a imagemformulario.jpg.

Esta caixa marcada em vermelho já possui o iníco do nome da documentação que será gravada, para ficar completo teria que receber a matéria da seleção de um dos rádios acima.

Na minha ignorância não compreendi se do jeito que você me mandou eu posso adequalo.

Novamente muitíssimo obrigado pela gentileza.

 

Consegui testar os códigos que você me passou e realmente consigo passar o value dos rádios para o campo txt que eu queria... aí é que vem o problema, os values do rádio é o número do id de cada matéria eu precisava passar o nome da matéria relacionado com o id concatenado ao nome que já vem dentro da caixa do formulário txt.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no value do button tu coloca as outras opcoes... tipo assim <input type="radio" name="nometabela" id="radio" value="valorpuxando" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então:

 

<script type="text/javascript">

       function PassRadioValue() {

               // Armazena na variável o "id" do input que será alterado
               var Target = arguments[1];

               // Armazena na variável o valor do radio
               var RadioValue = arguments[0].value;

               // Armazena na variável o valor do input
               var InputValue = document.getElementById( Target ).value;

               // Altera o valor do input
               document.getElementById( Target ).value = InputValue + RadioValue;

       }

</script>

<form>

       <input type="text" id="Titulo" value="SC_" />
       <input type="radio" name="Materia" onClick="javascript:PassRadioValue(this, 'Titulo')" value="iMasters" /> iMasters

</form>

 

Disponha! :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitísso obrigado novamente. Funcionou perfeitamente. Só me tira uma dúvida, se eu clicar em mais de uma opção do rádio ele vai acrescentado na caixa de texto do form as outras opções, isso é assim mesmo ou eu fiz alguma coisa errada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.