poprawna (int). Druga tabela to "wyniki", pola: indeks (int), punkty (int). Zrobiłem test który pobiera i losuje pytania z bazy(to działa prawidłowo), ale niestety mam problem ze sprawdzeniem rozwiązania testu. W tabeli "pytania" w polu "poprawna" przy dodawaniu pytania wpisywanie są wartości od 1 od 4 w zależności która odpowiedź jest poprawna. Przy rozwiązywaniu test do każdej odpowiedzi jest przypisane value="1" lub "2" lub "3" lub "4".
Pierwszy kod to plik który rowiązuje test i przesyłane dane do następnego który zlicza wynik i podaje go użytkownikowi.
PROSZĘ O POMOC, bo już naprawdę nie mogę z tym dać rady - jestem początkujący



Wydaje mi sie że trzeba zrobić odwołanie do poprawnej odpowiedzi i porównanie jej z przesłaną w teście, tylko jak?
Kod
<?
$conn = mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć z bazą MySQL");
$db = mysql_select_db ("strona", $conn) or die (mysql_error());
$wynik = mysql_query("select * from pytania ORDER BY RAND() LIMIT 3;");
if (mysql_num_rows ($wynik)>0)
{
$i=1;
print '<form method="post" action="">';
print '<INPUT TYPE="hidden" name="id" value='.$id.'>';
while($pytanie = mysql_fetch_array($wynik))
{
print '<font face="Arial" size="3">'.$i.'.</font>';
print '<font face="Arial" size="3">'.$pytanie['pytanie'].'</font><br>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="1" />'.$pytanie['odpowiedz1'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="2" />'.$pytanie['odpowiedz2'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="3" />'.$pytanie['odpowiedz3'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="4" />'.$pytanie['odpowiedz4'].'<br></font>';
print '<br><hr>';
$i++;
}
print '<INPUT type="submit" name="wyslij" value="Pokaż wynik">';
}
?>
<p><input type="hidden" name="indeksh" value="<?php echo trim($_POST['indeks']);?>">
</p>
$conn = mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć z bazą MySQL");
$db = mysql_select_db ("strona", $conn) or die (mysql_error());
$wynik = mysql_query("select * from pytania ORDER BY RAND() LIMIT 3;");
if (mysql_num_rows ($wynik)>0)
{
$i=1;
print '<form method="post" action="">';
print '<INPUT TYPE="hidden" name="id" value='.$id.'>';
while($pytanie = mysql_fetch_array($wynik))
{
print '<font face="Arial" size="3">'.$i.'.</font>';
print '<font face="Arial" size="3">'.$pytanie['pytanie'].'</font><br>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="1" />'.$pytanie['odpowiedz1'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="2" />'.$pytanie['odpowiedz2'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="3" />'.$pytanie['odpowiedz3'].'<br></font>';
print '<font face="Arial" size="2"><input type="radio" name="poprawna" value="4" />'.$pytanie['odpowiedz4'].'<br></font>';
print '<br><hr>';
$i++;
}
print '<INPUT type="submit" name="wyslij" value="Pokaż wynik">';
}
?>
<p><input type="hidden" name="indeksh" value="<?php echo trim($_POST['indeks']);?>">
</p>
Kod
<?php
mysql_connect('localhost', 'root', 'krasnal');
mysql_select_db('strona');
if(isset($_POST['wyslij']))
{
$sql = mysql_query("SELECT poprawna FROM pytania WHERE 'id' ");
$odp = mysql_query($sql);
while($pytanie = mysql_fetch_array($odp)){
$punkty = 0;
if($_POST['poprawna'] == '$odp')
$punkty++;
}
echo 'Liczba zdobytych punktów: <b>'.$punkty.'</b>';
mysql_query('INSERT INTO wyniki (indeks, punkty) VALUES(\''.trim($_POST['indeksh']).'\','.$punkty.')');
}
?>
mysql_connect('localhost', 'root', 'krasnal');
mysql_select_db('strona');
if(isset($_POST['wyslij']))
{
$sql = mysql_query("SELECT poprawna FROM pytania WHERE 'id' ");
$odp = mysql_query($sql);
while($pytanie = mysql_fetch_array($odp)){
$punkty = 0;
if($_POST['poprawna'] == '$odp')
$punkty++;
}
echo 'Liczba zdobytych punktów: <b>'.$punkty.'</b>';
mysql_query('INSERT INTO wyniki (indeks, punkty) VALUES(\''.trim($_POST['indeksh']).'\','.$punkty.')');
}
?>