Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho a tabelas perguntas e respostas no BD. As perguntas são as mais variadas possíveis e todas as respostas são as mesmas: 1, 2, 3, 4, 5, 6, 7.
Fiz o seguinte código:
$sql = "SELECT perg., resp.
FROM perguntas perg, respostas resp
WHERE perg.codigo >= 15
AND perg.codigo <= 47
AND resp.id >= 48
AND resp.id <= 55
";
$query = mysql_query($sql) or die (mysql_error());echo "<tr><td>".$rs['PERGUNTA']."</td><td><input type='radio' value='".$rs['VALOR']."' name='".$rs['ID_PERGUNTA']."' required>".$rs['TEXTO']."</td>";
}
Não consegui organizar o código como eu queria(A ideia é buscar no banco de dados a pergunta 1 e também as possíveis respostas, e 'joga-lás' em radio buttons.), utilizando o mysql_fetch_array() esta imprimindo a pergunta na frente de cada radio button com a opção da resposta, teria alguma função para pegar apenas uma pergunta por 'while' e pegar todas as prováveis respostas?
Uma ideia seria usar o "LIKE" do próprio SQL, para verificar, como você mesmo disse, as "prováveis respostas" para determinada pergunta...
você também poderia fazer duas tabelas, uma de peguntas e outra de respostas, e criar uma relação de um para muitos, (um=perguntas, muitos=respostas) usando o Id. Por exemplo, as respostas com Id '1', são as respostas para a pergunta com Id '1'. Dessa forma, haveria várias respostas, para uma pergunta, e você só teria que fazer o 'SELECT' e o 'echo'. Não entendi muito a ideia da radius...
Qualquer coisa avisa ae.
Acho que o seu "SELECT" ficaria mais ou menos assim:
<?php
$sql = mysql_query("SELECT perguntas.`Id`, respostas.`Id` FROM perguntas INNER JOIN respostas ON perguntas.`Id` = respostas.`Id`") or die(mysql_error());
?>>
Uma ideia seria usar o "LIKE" do próprio SQL, para verificar, como você mesmo disse, as "prováveis respostas" para determinada pergunta...
você também poderia fazer duas tabelas, uma de peguntas e outra de respostas, e criar uma relação de um para muitos, (um=perguntas, muitos=respostas) usando o Id. Por exemplo, as respostas com Id '1', são as respostas para a pergunta com Id '1'. Dessa forma, haveria várias respostas, para uma pergunta, e você só teria que fazer o 'SELECT' e o 'echo'. Não entendi muito a ideia da radius...
Qualquer coisa avisa ae.
Muito obrigado pela resposta, vou tentar resolver amanhã.
A ideia dos radio buttons é jogar os dados vindo do banco neles, por ex:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/MskOk.jpg&key=77cda61042b32987b18c7dfcec085f924658fa82d07d88f64f8bd8ff90f29c6d" alt="MskOk.jpg" />
Consegui resolver, fiz da seguinte forma:
for ($i = 0; $i <= 32; $i++) {
$sql = "SELECT * FROM perguntas WHERE codigo >= 15 AND codigo <= 47 ORDER BY RAND() LIMIT 1";
$sql2 ="SELECT * FROM respostas WHERE id >= 48 AND id <= 55";
$query = mysql_query($sql) or die (mysql_error());
$query2 = mysql_query($sql2) or die (mysql_error());
while($rs=mysql_fetch_array($query)){
echo "<tr><td>".$rs['PERGUNTA']."</td>";
while($rs2=mysql_fetch_array($query2)) {
echo "<td><input type='radio' value='".$rs2['VALOR']."' name='".$i."' required>".$rs2['TEXTO']."</td>";
}
echo "</tr>";
}
}
cria duas sql, uma para pergunta e uma para respostas.