![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 4 Pomógł: 0 Dołączył: 29.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Witam. Mam taki problem. Zrobiłem 2 tabele w bazie. Pierwsza "pytania" ma pola: id (int), pytanie(varchar), odpowiedz1(varchar),odpowiedz2(varchar),odpowiedz3(varchar),odpowiedz4(varchar),
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 (IMG:style_emoticons/default/winksmiley.jpg) Jak zrobić żeby pokazywało dobry wynik?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) 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> 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.')'); } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 09:18 |