Newsgroup: it.comp.www.php
Titolo: aiuto per script per quiz

Allora, ho uno script che è un misto tra javascript e php (90%
javascript e 10 % php), non sapevo in che newsgroup postarlo per cui ho
deciso di postarlo sia nel newsgroup di javascript che in quello di
php.
Lo script è perfettamente funzionante, manca una piccola cosa che
però per me è fondamentale, lo script in pratica mi consente di
estrarre dal database 5 domande a caso per un quiz, faccio le mie
scelte e quando clicco per vedere il risultato mi dice quante domande
ho indovinato su 5 e anche quali sono le risposte giuste (semplicemente
scrivo "GIUSTA" in parte alla risposta giusta e "SBAGLIATA" in parte a
quella sbagliata) ma io vorrei anche una terza opzione, in pratica
vorrei  scrivere anche "LA tua scelta era ..... ed era GIUSTA (o
sbagliata a seconda del caso)", il tutto si deve risolvere all'interno
della stessa pagina (quindi nello stesso script) non voglio che vada a
pagine esterne.
Il problema è che non so quale sia il pezzo mancante e come scriverlo,
qui sotto vi posto il codice completo della mia pagina, mi direste cosa
va aggiunto per vedere questa terza opzione?
Grazie
visualizzaquiz.php
<html>
<title>Quiz</title>
<head>
<script language="Javascript">
var  risposte = new Array (5) ;
var risposteEsatte = new Array (5) ;
<?
   $sqlinterr = "SELECT *  FROM quiz order by RAND() LIMIT 5  ";
			$res = mysql_db_query ("quiz_golfing", $sqlinterr);
            $num = mysql_num_rows ($res);
            for ($i=0; $i < $num; $i++)
            {
	    $ID_domanda = mysql_result ($res, $i, "ID_domanda");
	    $domanda = mysql_result ($res, $i, "domanda");
	    $risposta1 = mysql_result ($res, $i, "risposta1");
            $ris1 = mysql_result ($res, $i, "ris1");
             $risposta2 = mysql_result ($res, $i, "risposta2");
            $ris2 = mysql_result ($res, $i, "ris2");
	    echo "risposteEsatte [$i] = '";
            if ($ris1 == 1)
            {
            echo "a";
            }
            if ($ris2 == 1)
            {
            echo "b";
            }
            echo "' ;";
	    }
?>
function registraRisposta (domanda, risposta) {
 risposte [domanda - 1 ] = risposta ;
}
function punteggioQuiz ( ) {
var totaleEsatte = 0
for ( var conteggio = 0 ; conteggio < 5 ; ++conteggio)
{
if (risposte [ conteggio ] == risposteEsatte [conteggio ] )
++totaleEsatte;
}
document.write("<table border=1 widht=100% bgcolor=lime>")
document.write ( "<tr><td bgcolor=black> <center><font face=verdana
color=lime size=8>Il tuo punteggio é di " + totaleEsatte
+ " risposte esatte su 5 </center></font></td></tr><tr><td><?
            for ($i=0; $i < $num; $i++)
            {
	    $ID_domanda = mysql_result ($res, $i, "ID_domanda");
	    $domanda = mysql_result ($res, $i, "domanda");
	    $risposta1 = mysql_result ($res, $i, "risposta1");
            $ris1 = mysql_result ($res, $i, "ris1");
             $risposta2 = mysql_result ($res, $i, "risposta2");
            $ris2 = mysql_result ($res, $i, "ris2");
	    echo "$domanda <br>";
            echo "$risposta1 ";
            if ($ris1 == 1)
            {
	    echo "GIUSTA<br>";
            }
            else
	    {
            echo "SBAGLIATA<br>";
	    }
             echo "$risposta2 ";
             if ($ris2 == 1)
            {
	    echo "GIUSTA<p>";
            }
            else
	    {
            echo "SBAGLIATA<p>";
	    }
	    } ?></td></tr> ")
document.write("</table>");
}
function azzera() {
	location.reload()
}
</script>
</head>
<body background="campocalcio.jpg">
<br><br>
<center><font face="verdana" size=5 color="lime"><b><i>Rispondi alle
domande del nostro quiz:</i></b></center></font><br><br>
<form>
<?
for ($i=0; $i < $num; $i++)
            {
            $ID_domanda = mysql_result ($res, $i, "ID_domanda");
	    $domanda = mysql_result ($res, $i, "domanda");
	    $risposta1 = mysql_result ($res, $i, "risposta1");
            $ris1 = mysql_result ($res, $i, "ris1");
             $risposta2 = mysql_result ($res, $i, "risposta2");
            $ris2 = mysql_result ($res, $i, "ris2");
            echo "<font face='verdana' color='blue'>";
            echo $i+1;
            echo "</font>";
            echo "&nbsp;";
	    echo "<font face='verdana' size='4' color='lime'>";
            echo $domanda;
            echo "</font><br><br>";
            echo "<input type='radio' name='domanda";
            echo $i;
            echo "' value='a' onclick='registraRisposta ($i+1,
this.value)'><font face='verdana' size='3' color='lime'>";
            echo $risposta1;
            echo "</font><br>";
            echo "<input type='radio' name='domanda";
            echo $i;
            echo "' value='b' onclick='registraRisposta ($i+1,
this.value)'><font face='verdana' size='3' color='lime'>";
            echo $risposta2;
            echo "</font><br><br>";
	    }
?>
<br><br>
<input type=button name=punteggio value= "Valuta Punteggio"
onClick="punteggioQuiz( )">
<input type=reset name=punteggio value= "Riprova" onClick="azzera()"  >
</form>
</body>
</html>

 php.
Meglio evitare crossposting quando è possibile
Poi per favore indenta il codice cosi com'è è davvero incomprensibile e 
evita di usare mysql_db_query e mysql_result in quanto cosi non si 
riesce a capire proprio nulla.

Alekc ha scritto:

?? O_o