Pomozcie wymyslic funckje

0

Witam
Pytanie a wlasciwie prosba skierowana jest do tych ktorzy znalezli by troszke czasu i pomogli mi wymyslec funkcje. Juz mowie w czym rzecz.

Na serverze Interbase mam tabele

nr.pytania | nr.odpowiedzi |odpowiedzi | true/false <-czy odp prawdziwa

 1         |          1          | costam1       | true

 1          |         2          |costam2        | true

 1          |         3          | costam3       | false

 2          |         1          |nastepne1      | false

 2          |         2          | nastepne2     | true

 2          |         3          |nastepne3     | false

z baza danych laczy sie skrypt php ktory pobiera pytania i tworzy tyle
<input type="checkbox..."> ile jest odpowiedzi do kazdego pytania.

test jest wielokrotnego wyboru.
chodzi o to zeby wpasc na pomysl szybkiego skryptu ktory np.

od nr.pytania=1 do nr.pytania=ostatnie_pytanie sprawdzi nam kazda z trzech odpowiedzi to danego pytania i porowna czy odpowiedz ta jest poprawna oraz czy zostal zaznaczony "checkbox" .

Punktacja zajme sie juz sam, pomozcie tylko z ta funkcja. Mysle nad tym od 4 dni i nadal mam pustke w glowie.
Zdaje sie na was- fachowcow od PHP i JAVY.

0

Z tabelki wynika że tylko jedna odpowiedź jest prawidłowa dla jednego pytania, więc zrobiłbym radiowe przyciski:

\teraz wyczaiłem, że jednak to jest wielokrotnego wyboru ;)

[code]
Pytanie1:
<input type="radio" name="1" value="1">odpowiedź1
<input type="radio" name="1" value="2">odpowiedź2
<input type="radio" name="1" value="3">odpowiedź3
Pytanie2:
<input type="radio" name="2" value="1">odpowiedź1
<input type="radio" name="2" value="2">odpowiedź2
<input type="radio" name="2" value="3">odpowiedź3
[/code]

Dane jakie zwróci formularz, to będzie para nazwa grupy opcji + value opcji.

Jeżeli więc z pytania1 wybierzemy 2 a z pytania2 wybierzemy 3, to otrzymasz takie pary:
1=2 i 2=3

Teraz tylko sprawdzić w bazie czy odpowiedzi są prawidłowe i koniec...

Więcej zabawy jest przy 'testach' wielokrotnego wyboru, ponieważ checkboxy niezaznaczone są ignorowane i wysyłane tylko pary z zaznaczonych, no ale to można uporządkować jedną pętelką, bądź jak nie chcesz przerabiać w PHP to obrobić w JS i przesłać do skryptu generującego wyniki...


Dobra rozwinę to z wielokrotnionym wyborem bo tak bym nic nie pomógł...

więc generujesz taki formularz:

[code]
<input type="checkbox" name="p1[]" value="1">odp1</input>

<input type="checkbox" name="p1[]" value="2">odp2</input>

<input type="checkbox" name="p1[]" value="3">odp3</input>

<input type="checkbox" name="p2[]" value="1">odp1</input>

<input type="checkbox" name="p2[]" value="2">odp2</input>

<input type="checkbox" name="p2[]" value="3">odp3</input>

[/code]
gdzie atrybut 'name' w checkboxie jest według schematu: p + id pytania + []

A w kodzie odbierającym, robisz pętelke po tabelce z pytaniami gdzie,
sprawdzasz numer pytania, a później czy użytkownik coś wybrał kodem:

$idchekboxa = "p".$idpytania
if (isset($_POST[$idcheckboxa]))
{
    for($x = 0; $x < sizeof($_POST[$idcheckboxa]); $x++) {
           //a tu już sprawdzasz jakie pytania użytkownik zaznaczył...
    }
}

Mówiąc szczerze to nie przetestowałem tego bo teraz nie zajmuje się już PHP, ale może chociaż nakierowałem, na jakieś rozwiązanie...

0

Luknij na ostatni post: http://4programmers.net/Forum/viewtopic.php?id=51199

może ci cosik pomoże.

Pozdro... ;p

1 użytkowników online, w tym zalogowanych: 0, gości: 1