![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 23.03.2004 Skąd: Mrągowo Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam oto taki problem ze robie sobie skrypt do zadan testowych z radiobuttonami. Z bazy sa losowane pytania i do nich odpowiedzi,ktore sa zliczane i na koniec pokazywany jest wynik w postaci zdobyte punkty/na max mozliwych. I mam problem z warunkiem gdy użytkownik nic nie wybierze i nacisnie "dalej". Wtedy moj skrypt zlicza max punktow na podstawie oddanych glosow, wiec jak jest 10 pytan i ktos odpowiedzial na 7(nie wazne czy dobrze czy zle) a 3 pominął klikajac tylko "dalej" to wynik bedzie zwrocony np. 5/7 a nie 5/10 poprostu zmniejsza sie max_punktów. I nie wiem jak określić warunek. Tu jest kawalek kosu moze sie przyda: [php:1:0605b8c74f]<?php for($y=1; $y<10; $y++) { if ($ktore_pytanie == ($y+1)) //warunek chyba powinien byc gdzies tu (ze jak nacisnie sie dalej niech wstawi 0 i zeby max_punkty trzymaly wartosc 10 a nie obnizaly sie { $HTTP_SESSION_VARS['odp'.$y] = $HTTP_POST_VARS['odpowiedz']; }; } if ($ktore_pytanie == 11) { $HTTP_SESSION_VARS['odp10'] = $HTTP_POST_VARS['odpowiedz']; $punkty = 0; $punkty_max = 0; for($i=1; $i<11; $i++) { $zapytanie = 'SELECT id_pytanie, wlasciwa FROM odpowiedz WHERE id_odpowiedz="'.$HTTP_SESSION_VARS['odp'.$i].'"'; $wynik = mysql_query($zapytanie); if (mysql_num_rows($wynik) == 1) { $wiersz = mysql_fetch_array($wynik); $punkty += stripslashes($wiersz['wlasciwa']); } $zapytanie = 'SELECT max(wlasciwa) as wlasciwa FROM odpowiedz WHERE id_pytanie="'.stripslashes($wiersz['id_pytanie']).'"'; $wynik2 = mysql_query($zapytanie); if (mysql_num_rows($wynik2) == 1) { $wiersz2 = mysql_fetch_array($wynik2); $punkty_max += stripslashes($wiersz2['wlasciwa']); } } echo'Oto wynik testu :].'; echo ''.$punkty.'/'.$punkty_max.''; ?>[/php:1:0605b8c74f] Dzieki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Szczebrzeszyn Ostrzeżenie: (10%) ![]() ![]() |
Możesz spróbować to zrobić w JavaScripcie:
Kod <script type="text/javascript">
function check(){ if(document.forms['formularz'].elements['radio'].checked){ // }else{ alert("Wybierz odpowiedź); } } </script> Albo w php (zakładając, że włączyłeś "RegisterGlobals": [php:1:b40feb7064]<?php if(!isset($przycisk)){ die("Wybierz odpowiedź"); } ?>[/php:1:b40feb7064] Według mnie, jeżeli nie jest wybrana opcja z radio, to wtedy zmienna nie jest ustawiana (mogę się mylić). Jednak najprostrzą metodą będzie coś takiego: Kod <input type="radio" name="odp" value="1" checked="checked">
I wtedy zawsze będzie wybrana taka odpowiedź jeżeli użytkownik nic nie wybierze. Pozdro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:54 |