Avatar billede cyberdude Nybegynder
16. november 2001 - 13:30 Der er 14 kommentarer og
1 løsning

tælle antal rigtige og forkerte sammen......

Hejsa!!

Jeg har stykket dette script sammen!

Men kan ikke rigtig finde ud af hvordan jeg får den til at tælle antal af rigtige svar sammen og antallet af forkerte svar sammen!



----- snip kode ------
$bruger=sql(\"select id,bruger,navn from kal_2001_user order by id\");
while ($row_bruger=mysql_fetch_array($bruger)) {

$svar=sql(\"select id,user_id,spm_id,svar from kal_2001_svar where user_id = \'$row_bruger[0]\'\");
$row_svar = mysql_fetch_row($svar);
$korekt=sql(\"select * from kal_2001_spm where id = \'$row_svar[2]\'\");
$row_spm = mysql_fetch_row($korekt);
if ($row_bruger[0] != $row_svar[1]) {
}
else {
if ($row_svar[3] == $row_spm[6]) {
echo \"Korekt   - \";
}
else {
echo \"Forkert   - \";
}

echo \"Brugernavn : $row_bruger[1] - Spm : $row_svar[2] - Svar : $row_svar[3]<br>\\n\";
while ($row1_svar=mysql_fetch_array($svar)) {
if ($row_svar[3] == $row_spm[6]) {
echo \"Korekt &nbsp; - \";
}
else {
echo \"Forkert &nbsp; - \";
}
echo \"Brugernavn : $row_bruger[1] - Spm : $row1_svar[2] - Svar : $row1_svar[3]<br>\\n\";

}
}
}
----- snap kode -----

Her er resultatet som koden giver
Korekt  - Brugernavn : test2 - Spm : 7 - Svar : 1
Korekt  - Brugernavn : test2 - Spm : 2 - Svar : 2
Forkert  - Brugernavn : Baronessen - Spm : 7 - Svar : 3
Korekt  - Brugernavn : Grevinden - Spm : 7 - Svar : 1

I dette eks. ville jeg gerne have den til at skrive

Brugernavn : test2 har 2 rigtige og 0 forkerte
Brugernavn : Baronessen har 0 rigtige og 1 forkert
Brugernavn : Grevinden har 1 rigtige og 0 forkerte

Men jeg kan ikke lige gennemskue hvordan jeg får den til det.............
Avatar billede cyberdude Nybegynder
16. november 2001 - 13:30 #1
og så sotere det efter hvem der har flest rigtige.........
Avatar billede spectre Nybegynder
16. november 2001 - 14:45 #2
----- snip kode ------
$bruger=sql(\"select id,bruger,navn from kal_2001_user order by id\");
$rigtige = 0;
$forkerte = 0;
while ($row_bruger=mysql_fetch_array($bruger)) {

$svar=sql(\"select id,user_id,spm_id,svar from kal_2001_svar where user_id = \'$row_bruger[0]\'\");
$row_svar = mysql_fetch_row($svar);
$korekt=sql(\"select * from kal_2001_spm where id = \'$row_svar[2]\'\");
$row_spm = mysql_fetch_row($korekt);
if ($row_bruger[0] != $row_svar[1]) {
}
else {
if ($row_svar[3] == $row_spm[6]) {
echo \"Korekt &nbsp; - \";
$rigtige++;
}
else {
echo \"Forkert &nbsp; - \";
$forkere++;
}

echo \"Brugernavn : $row_bruger[1] - Spm : $row_svar[2] - Svar : $row_svar[3]<br>\\n\";
while ($row1_svar=mysql_fetch_array($svar)) {
if ($row_svar[3] == $row_spm[6]) {
echo \"Korekt &nbsp; - \";
}
else {
echo \"Forkert &nbsp; - \";
}
echo \"Brugernavn : $row_bruger[1] - Spm : $row1_svar[2] - Svar : $row1_svar[3]<br>\\n\";

}
}
}
----- snap kode -----

til sidst vil $rigtige indeholde antal rigtige svar og $forkerte vil indeholde antal forkerte svar... (håber jeg :)
Avatar billede cyberdude Nybegynder
16. november 2001 - 15:07 #3
det virker ikke regtigt... hvis jeg laver en echo \"$korekt\"; så får jeg blot Resource id #20 :-(
Avatar billede wizprod.com Nybegynder
16. november 2001 - 15:20 #4
prøv at skrive $row_bruger[user_id] istedet :-)
Avatar billede wizprod.com Nybegynder
16. november 2001 - 15:28 #5
denne funktion, sql() hvor faen kommer den fra?
Avatar billede cyberdude Nybegynder
16. november 2001 - 15:29 #6
wizprod.com -> øhhh hvad mener du??
Hvor skal jeg skrive det og hvordan?
Avatar billede cyberdude Nybegynder
16. november 2001 - 15:30 #7
hvad sker der jeg trykkede på udfør og så fik du point???? og spørgsmålet blev lukket.......

Kan jeg ik få dem igen, hvis du ik får det til at virke?
Avatar billede cyberdude Nybegynder
16. november 2001 - 15:30 #8
sql() er en funktion jeg har defineret i en fil jeg includer på alle mine sider, som indeholder kald til databasen......
Avatar billede wizprod.com Nybegynder
16. november 2001 - 15:34 #9
Joda,
Men, alle disse brugerdefinerede funktioner, og den slamkode du laver, husk indrykninger, ellers mister du MEGET hurtig overblikket!
Du bruger også både mysql_fetch_row og mysql_fetch_array, der er jo forskel på disse to ting!

Ligger antallet af rigtige og forkerte i 2 tabeller?
Avatar billede cyberdude Nybegynder
16. november 2001 - 15:45 #10
Jeg har en tabel med alle spørgsmålene

id // id på selve indlæget
spm // spørgsmålet
svar1 // svar mulighed 1
svar2 // svar mulighed 2
svar3 // svar mulighed 3
rigtig // hvilket af ovennævnte svar der er korekt

så har jeg en tabel hvor brugerend svar bliver sat ind i

id // id på indlæget
user_id // brugerens id nummer fra bruger tabellen
spm_id // spørgsmål id = id feltet i spørgsmål tabellen
svar // det svar brugeren har angivet (1,2,3)
Avatar billede cyberdude Nybegynder
16. november 2001 - 16:06 #11
jeg er lige startet forfra!

Og har så lavet følgende:

$svar = sql(\"select * from kal_2001_svar\");
while ($row_svar=mysql_fetch_array($svar)) {
$spm = sql(\"select id,korekt from kal_2001_spm where id = \'$row_svar[2]\'\");
$row_spm = mysql_fetch_row($spm);
if ($row_svar[3] == $row_spm[1]) {
sql(\"update kal_2001_svar set status = \'1\' where id = \'$row_svar[0]\' && spm_id = \'$row_spm[0]\'\");
echo \"KOREKT svar angivet!<br>\";
}
if ($row_svar[3] != $row_spm[1]) {
sql(\"update kal_2001_svar set status = \'0\' where id = \'$row_svar[0]\' && spm_id = \'$row_spm[0]\'\");
echo \"FORKERT svar angivet!<br>\";
}
}


Hvilket opdatere et felt i svar tabellen således at det får status 1 hvis det angivet svar er korekt, og status 0 hvis det er forkert

S¨skal jeg bare have lavet en count ud fra den database......
erd et noget du kan hjælpe med istedet ?
Avatar billede cyberdude Nybegynder
16. november 2001 - 16:33 #12
wizprod.com -> Jeg vil gerne have mine point tilbage........ PLEASE :-))

Jeg har lige selv fundet en anden og noget lettere løsning ved brug af en count i min forespørgsel......
Avatar billede cyberdude Nybegynder
16. november 2001 - 20:01 #13
wizprod.com -> må jeg ik få dem tilbage?????
Avatar billede wizprod.com Nybegynder
16. november 2001 - 20:28 #14
jow da, alt andet ville være snyd! Bare lad være ved en fejltagelse give points ;-)
Avatar billede wizprod.com Nybegynder
16. november 2001 - 20:29 #15
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester