SELECT DISTINCT non mi funziona

daniele71

Nuovo Utente
7 Apr 2010
2
0
0
Salve ragazzi, sono un nuovo iscritto, avrei bisogno, se potete di un piccolo aiuto su una query del mio database sql.
Sto facendo un sistema a quiz dove ho una domanda a cui sono associate 4 risposte.
Ho creato una tabella per le domande ed una per le risposte associando domanda-risposte con un campo codice.
Ogni quiz ha 30 domande con ognuna quindi 4 risposte.
Nel fare la query al database ho impostato così:

$sql = "
SELECT
dom2mate.coddom,
dom2mate.txtdom,
risp2mate.codrisp,
risp2mate.txtrisp,
FROM
dom2mate,
risp2mate
WHERE
dom2mate.coddom = risp2mate.codrisp
";

$risultato = @mysql_query($sql,$connessione)
or die("Impossibile connettersi al database");
while ($riga = mysql_fetch_array($risultato)) {
$coddom = $riga['coddom'];
$codrisp = $riga['codrisp'];
$txtdom = $riga['txtdom'];
$txtrisp = $riga['txtrisp'];
// creo la stringa per la visualizzazione
$visualizza .= "
<tr>
<td>$txtdom</td>
<td>$link</td>
</tr>
<tr>
<td>$txtrisp</td>
</tr>
";
}
?>
<table width="896" border="0" cellpadding="2" cellspacing="2" bordercolor="#806B3C">
<tr>
<td height="106" valign="top" align="center"><img border="0" src="immagini/banner.gif"></td>
</tr>
</table>
<table width="896" border="0" cellpadding="2" cellspacing="2" bordercolor="#806B3C">
<tr><td><p class="titol" align="center">PROVA MATEMATICA CLASSE SECONDA</p></td></tr>
</table>
<table width="896" border="0" cellpadding="2" cellspacing="2" bordercolor="#806B3C">
<? echo "$visualizza"; ?>
</table>

Funziona perfettamente, il problema è che mi ripete la domanda sempre mentre io vorrei che la domanda venisse visualizzata una volta sola e le risposte una sotto l'altra (che poi gli alunni sceglieranno). Ho provato col DISTINCT ma non cambia nulla e col GROUP BY mi visualizza la domanda con una sola risposta.
Qualcuno mi può aiutare?
grazie anticipatamente :dipser:
 
ciao,
prova così con due select e due cicli while

PHP:
$sql_d="SELECT coddom, txtdom FROM dom2mate GROUP BY coddom ORDER BY coddom";
$query_d=mysql_query($sql_d);
//verifica esistenza se si continui
while($riga_d=mysql_fetch_array($query_d)){
	$cod_d=$riga_d['coddom'];
	$txt_d=$riga_d['txtdom'];
	//stampi codice e testo domanda
	$sql_r="SELECT codrisp,txtrisp FROM risp2mate WHERE codrisp='".$cod_d."' ORDER BY codrisp";
	$query_r=mysql_query($sql_r);
	while($riga_r=mysql_fetch_array($query_r)){
		$cod_r=$riga_r['codrisp'];
		$txt_r=$riga_r['txtrisp'];
		//stampi codice e testo delle risposte
	}//fine while risposte
}//fine while domande

a te eventuale sistemazione grafica con tabella
(al massimo non funzia:D)
 

Discussioni simili