Problema domande duplicate per risposte multiple

  • Creatore Discussione Creatore Discussione Pompeus
  • Data di inizio Data di inizio

Pompeus

Nuovo Utente
23 Giu 2015
6
0
0
Pescara
Ciao ragazzi,

chiedo il vostro aiuto per risolvere un problema che mi sta facendo un pò uscire di testa.
Ho un db dal quale devo prelevare delle domande e delle risposte multiple.

Il mio problema è che la domanda si ripete ogni volta che appare una risposta, io invece vorrei una sola domanda e le tre risposte ad essa associate.

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)) { 
var_dump($risultato);?>
<table border="1">
<tr><td><?php echo $risultato[24];?></td><td><?php echo $risultato[34];?></td><td></td><td></td></tr>
</table>
<p></p>
<?php
} 
?>

Il $risultato[24] rappresenta la domanda
Il $risultato[34] rappresenta la risposta

Avete qualche suggerimento?

Grazie in anticipo.
 
UNA SOLUZIONE SPARTANISSIMA è
PHP:
while ($risultato = mysql_fetch_array($query_test)) {  
var_dump($risultato);?> 
<table border="1"> 
<tr><td><?php echo (isset($domanda) && $domanda != $risultato[24] ) ? $risultato[24] : '';?></td><td><?php echo $risultato[34];?></td><td></td><td></td></tr> 
</table> 
<p></p> 
<?php 
$domanda = $risultato[24];
}  
?>

non usare mysql_fetch_array arriverai al punto che non ci capirai piu un cavolo.
usa mysql_fetch_assoc.
Ti consiglio però di abbandonare proprio mysql in quanto deprecato e passare a mysqli o pdo
 
Grazie. Funziona alla grande.
Cmq hai ragione, dovrei usare mysql_fetch_assoc, un pò mi sono complicato la vita a contare la posizione dei valori ma ormai... Però lo modifico subito, tanto fa lo stesso e mi semplifico la vita.
Per pdo... non lo conosco proprio.

Comunque grazie davvero
 
Ciao Sabo, scusa ma stavo notando che purtroppo non mi entra nella prima domanda ma parte direttamente con le tre risposte e poi iniziano le domande e risposte.
Inizia a leggere le domande dopo aver compiuto il primo ciclo, cioè
1
2
3
B
1
2
3
Salta la prima domanda A. Hai idea del perchè?

Grazie
 
ciao, aggiungi prima,
PHP:
$domanda = "xyz";
while ($risultato = mysql_fetch_array($query_test)) {

e volendo puoi modificare
PHP:
<tr><td><?php echo ( $domanda != $risultato[24] ) ? $risultato[24] : '';?></td><td>
ma non è strettamente necessario

ciao
 
Ultima modifica:
si scusa, non ho dichiarato $domanda sopra al while.
Fai come dice marino.

Sorry :mexican::gun:
 

Discussioni simili