Ir para conteúdo
Fórum Script Brasil
  • 0

Cadastro de perguntas com opções de respostas e apenas uma correta


Nadijar casarin

Pergunta

Olá, bom dia, sou novo aqui no forum e esse é meu primeiro tópico

A dúvida é a seguinte:

Em um cadastro de perguntas e respostas o usuário quer cadastrar a pergunta e no mesmo momento cadastrar as opções de resposta, que futuramente serão listadas para outro usuário responder (é uma prova).

A dúvida é que nesse cadastro a pergunta tem várias opções de resposta, mas apenas uma deve ser a correta
Eu consigo cadastrar a pergunta, com suas oções de resposta tudo certinho, o problema está em marcar a resposta correta.

Obs.: Essas opções de respostas podem variar em uma, duas, tres, quatro ou até que o usuári quiser, cada uma pode ter a quantidade de opções que o usuário desejar. Sendo assim esss opções eu adiciono através do jqyery com o usuário clicando em um botão adicionar.

Porém para fins didáticos e de teste eu tentei fazer apenas colocando os inputs do tipo texto (que são as opções de resposta) e os inputs do tipo radio, (que seriam uma marcado para ser a resposta  correta), somente para que o código fique menor.

As opções de resposta pego usando um foreach() transformando o text em uma array usando o [] (como pode ser visto no código abaixo).

Porém o radio tentei sem transformar em array, não deu certo, tentem com array fazendo um outro foreach dentro do foreach do text e também não deu certo.

Gostaria se alguém souber como fazer isso me desse uma dica ou exemplo.

Segue o código que montei para teste.

<?php
include_once("app/conexao.php");
if(isset($_POST['enviar'])){
    
    foreach ($_POST['opc'] as $indice => $valor) {
        foreach($_POST['radio'] as $ind => $val){
            echo 'Opcoes: '.$indice. ' - '.$valor.'<br>';
            echo '<hr>';
            echo 'Radios: '. $ind.' - '.$val.'<br>';
        }//foreach radio
    }//foreach opc
}//if isset
?>
<form method="post">
<input type="text" size="100" name="pergunta" id="pergunta"><br><br>
<hr>
<input type="text" name="opc[]" id="opc"> | <input type="radio" value="1" name="radio[]" value=""><br>
<input type="text" name="opc[]" id="opc"> | <input type="radio" value="1" name="radio[]" value=""><br>
<input type="text" name="opc[]" id="opc"> | <input type="radio" value="1" name="radio[]" value=""><br>
<input type="text" name="opc[]" id="opc"> | <input type="radio" value="1" name="radio[]" value=""><br>
<input type="text" name="opc[]" id="opc"> | <input type="radio" value="1" name="radio[]" value=""><br>

<input name="enviar" type='submit' />

</form>

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
<body style="width:50%;margin:0 auto"><div style="height:5%"></div>
<form>
  <table>
  <tr><td>pergunta<td> <input name=pergunta>
  <tr><td>alternativa a<td> <input name=alternativa[]>
  <tr><td>alternativa b<td> <input name=alternativa[]>
  <tr><td>alternativa c<td> <input name=alternativa[]>
  <tr><td>alternativa d<td> <input name=alternativa[]>
  <tr><td>alternativa e<td> <input name=alternativa[]>
  <tr><td>resposta<td> <input name=resposta>
  <tr><td><input type=submit></table>
</form>
<?php
if(!isset($_GET['pergunta'])){exit;}
echo "gravar numa tabela de banco de dados <p>";
echo "pergunta: ".$_GET['pergunta'];
echo "<p> alternativas:";
var_dump($_GET['alternativa']);
echo "<p> resposta: ".$_GET['resposta'];

 

Screenshot_1.png

Screenshot_2.png

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...