12. oktober 2006 - 22:20Der er
20 kommentarer og 1 løsning
hente data fra formular som er lavet med php
jeg er ved at lave et konkurrence system hvor jeg kan tilføje x antal spørgsmål med x antal svar muligheder
alle spørgsmål listes op og med svar mulighederne under hvert spørgsmål sådan echo"<input type='radio' name='$parent' value='$svar' checked>$svar<br>";
dette betyder at der laves x antal radio knapper op siden og når der så trykkes på send er ACTION i formularen sat til at gå til test.php, men hvordan tjekker jeg for hvad der er markeret i alle radioknapperne?
det er lidt svært at forklare men håber en forstå ellers så spørg
Men hvis du ved alle navne og alle værdier, så er det jo bare at tjekke om hver navn har den givne værdi. Har den det, så er den jo markeret af brugeren.
det var smart og det virker. i min database er alle korrekte svar markeret med et 1 tal og forkerte er markeret med 0 så jeg skal egentlig bare har lagt alle tal sammen når formularen er udfyldt og på den måde kan man se hvor mange korrekte svar der er er. er der en smart måde til at gøre dette? jeg vil tro det er disse to linie der skal laves noget udregning i istedet echo "Besvaret/markeret<br />"; echo "Ikke besvaret/ikke markeret<br />";
ikke helt jeg glemte at skrive at tallene 1 og 0 er gemt i feltet "korrekt" i databsen jeg har indsta variablen korrekt, men kan ikke regne ud hvor den skal ind i din kode
$correctAnswers = 0; $svar1 = mysql_query("SELECT * FROM konku_spg_svar WHERE parent=$spgid") or die(mysql_error()); while ( $c = mysql_fetch_array($svar1)) { $svar = $c[spg_svar]; $parent = $c[parent]; $korrekt = $c[korrekt];
nej det virker ikke. hvis der er to spørgsmål eller flere skriver den du "havde 1 korrekt svar" hvis der svares rigtig på det sidst udskrevne spørgsmål, men svare man forkert på det og rigtigt på et eller begge de andre skriver den "havde 0 korrekt svar" indsætter jeg echo "$svar<br>"; lige efter if sætningen udskriver den fint de rigtige svar hvis det er det der er svaret hele min test.php ser lige nu sådan ud.
<? include"../connect.php";
$id = $_GET[id];
$spg1 = mysql_query("SELECT * FROM konku_spg_svar WHERE konkuid = $id AND parent = 0") or die(mysql_error()); while ( $b = mysql_fetch_array($spg1)) { $spgid = $b[spg_svarid]; $spg = $b[spg_svar];
$correctAnswers = 0; $svar1 = mysql_query("SELECT * FROM konku_spg_svar WHERE parent=$spgid") or die(mysql_error()); while ( $c = mysql_fetch_array($svar1)) { $svar = $c[spg_svar]; $parent = $c[parent]; $korrekt = $c[korrekt];
Nu synes jeg også at du har kastet et ekstra udtræk på. Jeg har lidt svært ved at følge med nu. Kan du ikke give et eksempelt på et spørgsmål der er i radiobuttons og hvilke felter i databasen der hører til det spørgsmål?
grunden til det ekstra udtræk er at jeg skal have $spgid et sted fra og eftersom jeg sender id med formularen over på test.php kan jeg ved det ekstra udtræk hente $spgid ud radiobutten er her under vist med - hvad farve er en agurk? - sort - grøn - blå
i databasen står de sådan spg_svarid | konkuid | spg_svar | korrekt | parent ---------------------------------------------- 4 | 1 hvad farve er en agurk | 2 | 0 5 | 1 sort | 0 | 4 6 | 1 grøn | 1 | 4 7 | 1 blå | 0 | 4
Måske det bare skyldes, at du nu nulstiller vores $correctAnswers hver gang du tjekker et nyt spørgsmål. Prøv at flytte det udenfor den første lykke også, altså den her: $correctAnswers = 0;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.