0

Eu tenho um teste na minha base de dados, e a cada pergunta tem as suas respostas (Certa, Errada1, Errada2, Errada3 ). Eu consigo listar as perguntas em formulários diferentes, mas o meu problema é listar as respostas em radiobuttons com nomes diferentes. Visto que se todos tiverem o mesmo nome, ao selecionar um, os outros vão ser desconsiderados.

    <?php

        $instS='Select * from perguntas';
        $query = mysqli_query($conn,$instS);

         while ($row = mysqli_fetch_assoc ($query))
         {echo"<br>";
                echo"<center><fieldset style='border:solid; width:500px;'>";

                  echo" <legend style='background: #FF9; width:150px; border: solid 1px black; 
                                -webkit-border-radius: 8px; -moz-border-radius: 8px; 
                                border-radius: 8px; padding: 6px;'> Questão: ".$row['idPergunta']."";echo"</legend>";

             echo "<center> <h4><b> Pergunta: </h4></center></b>";

        echo"<center>"
            .$row['textoPerguntas'].""; //Buscar a pergunta a base de dados
         echo"<center>";

        echo "<center><h4><b> Resposta: </h4></center></b>";

        // queria aqui buscar as respostas, mas de modo a que a cada set de 4    perguntas, os nomes das radiobuttons fossem alterados (RespostaCerta,Errada1,Errada2,Errada3 name=questao1), 
(RespostaCerta,Errada1,Errada2,Errada3 name=questao2), etc, consoante ao numero de perguntas que existe

        echo "<input type='radio' name='dd' id='resposta'>";

        echo "<br>";
        echo "<br>"; 

                                ?>
6
  • Você não consegue usar: pergunta_id_resposta_id? Commented 16/01/2017 às 13:52
  • o que quer dizer com isso ?
    – Paulo
    Commented 16/01/2017 às 13:53
  • Pelo que entendi, as respostas estão ficando duplicadas, resp_1, resp_2, correto? Exemplo: <input type='radio' name='perg_1_resp_1' /> Commented 16/01/2017 às 13:55
  • Sim exato.. E eu queria saber se tem como eu posso atribuir automaticamente " name=pertg1_rest1", " name=pertg1_rest2", " name=pertg1_rest3", "name=pertg2_rest1" e por assim em diante
    – Paulo
    Commented 16/01/2017 às 14:07
  • visto que eu estou a retirar as respostas e as perguntas da base de dados
    – Paulo
    Commented 16/01/2017 às 14:08

1 Resposta 1

0

Sim exato.. E eu queria saber se tem como eu posso atribuir automaticamente " name=pertg1_rest1", " name=pertg1_rest2", " name=pertg1_rest3", "name=pertg2_rest1" e por assim em diante

Você está usando input radio, se você atribuir names diferentes para as opções não faz sentindo utilizar input radio, porque elas poderão ser marcadas mais de uma ao mesmo tempo

echo "<input type='radio' name='dd' id='resposta'>";

Neste exemplo você não esta pegando a opção de nenhum lugar, então você pode simplesmente alterar suas names manualmente:

<?php
$instS='Select * from perguntas';
$query = mysqli_query($conn,$instS);
while ($row = mysqli_fetch_assoc ($query)):
    $radioname = "pergunta-".$row['idPergunta'];
    $retorna = '<br>'
        ."<center><fieldset style='border:solid; width:500px;'>"
        ."<legend style='background: #FF9; width:150px; border: solid 1px black -webkit-border-radius: 8px; -moz-border-radius: 8px; ; border-radius: 8px; padding: 6px;'"
        ."Questão: ".$row['idPergunta']
        ."</legend>"
        ."<center> <h4><b> Pergunta: </h4></center></b><center>".$row['textoPerguntas']."<center>"
        ."<center><h4><b> Resposta: </h4></center></b>"
        ."<input type='radio' name='".$radioname."-1' id='resposta-1'> Opção 1"
        ."<input type='radio' name='".$radioname."-2' id='resposta-2'> Opção 2"
        ."<input type='radio' name='".$radioname."-3' id='resposta-3'> Opção 3"
        ."<input type='radio' name='".$radioname."-4' id='resposta-4'> Opção 4"
        ."<br/><br/>";
    echo $retorna;
endwhile;
1
  • Não funciona :/ eu tenho na mesma tabela as respostas erradas. que são RespostaErrada1, RespostaErrada2, RespostaErrada3.. E mesmo assim não consigo criar um grupo para que apenas se possa selecionar as respostas dessa questão..
    – Paulo
    Commented 19/01/2017 às 14:24

Você deve fazer log-in para responder a esta pergunta.

Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag .