• User

    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 risposte

    Per 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 risposte

    Attualmente mi viene fuori così:

    A - 1
    A - 2
    A - 3
    io invece vorrei
    A
    1
    2
    3

    Qualcuno di voi ha un'idea?

    Grazie a chiunque mi dia una mano


  • User Attivo

    Ma domande e risposte sono nella stessa tabella?


  • User

    Come si legge sopra...no. La query incrocia gli id delle domande con gli id delle risposte in un'altra tabella


  • Moderatore

    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 ?


  • User Attivo

    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++;
    }