- Home
- Categorie
- Coding e Sistemistica
- PHP
- Domande a risposta multipla con PHP
-
Domande a risposta multipla con PHP
Ciao Ragazzi,
ho un problema che da 2 giorni mi sta mandando fuori di testa.
Ho creato uno script che estrae da un Db delle domande e 3 risposte multiple associate alla stessa domanda, ma ho bisogno che la domanda mi appaia una sola volta diversamente da come accade adesso che mi cicla tante domande quante sono le risposte.Ecco il codice
[PHP]<?php
$query_test = mysql_query("SELECT learning_testtrack. *, learning_testtrack_quest. *, learning_testquest. *, learning_testquestanswer. * FROM learning_testtrack
INNER JOIN learning_testtrack_quest ON learning_testtrack.idTrack = learning_testtrack_quest.idTrack
INNER JOIN learning_testquest ON learning_testtrack_quest.idQuest = learning_testquest.idQuest
INNER JOIN learning_testquestanswer ON learning_testquest.idQUest = learning_testquestanswer.idQuest
WHERE learning_testtrack.idUser = '" . $dati [5] . "' AND learning_testtrack.idTest = 2");while ($risultato = mysql_fetch_array($query_test)) {?>
<table border="1" width="80%">
<tr><td><?php echo $risultato[24];?></td><td><?php echo $risultato[34];?></td><td></td><td><?php echo $risultato [11] ?></td></tr>
</table>
<p></p>
<?php
}
?>[/PHP]$risultato[24] mostra le domande
$risultato[34] mostra le rispostePer arrivare ad associare domande e risposte ho dovuto necessariamente creare questo genere di query dove
learning_testtrack. * contiene gli id delle traccia del quiz fornito e l'id dell'utente
learning_testtrack_quest. * contiene gli id delle traccia del quiz fornito e l'id della domanda
learning_testquest. * contiene gli id delle domande e il testo delle domande
learning_testquestanswer. * contiene gli id delle domande e il testo delle risposteAttualmente mi viene fuori così:
A - 1
A - 2
A - 3
io invece vorrei
A
1
2
3Qualcuno di voi ha un'idea?
Grazie a chiunque mi dia una mano
-
Ma domande e risposte sono nella stessa tabella?
-
Come si legge sopra...no. La query incrocia gli id delle domande con gli id delle risposte in un'altra tabella
-
E' abbastanza complesso ma ad una prima occhiata magari hai sbagliato a impostarlo.
Se invece facessi 2 query, un prima per rintracciare la domanda, e la seconda all' interno delciclo while che, sulla base dell' id domanda carichi le 3 risposte ?
-
A questo punto puoi trasformare il while in questo modo allora:
$row=0;
while ($risultato = mysql_fetch_array($query_test)) {
if($row==0) ?>
<?php echo $risultato[24];?><table border="1" width="80%">
<(http://www.giorgiotave.it/wikigt/os/TrustRank)><td><?php echo $risultato[34];?></td><td></td><td><?php echo $risultato [11] ?></td></tr>
</table>
<p></p>
<?php
$row++;
}