Avatar billede cyberdude Nybegynder
15. november 2001 - 23:24 Der er 8 kommentarer og
1 løsning

Avanceret optælling af data fra mysql......

Hejsa!!

Jeg skal lige have nogle råd og fif med på vejen her, og evt. hjælp til koden....

Jeg har følgende tabel struktur
--- snip svar tabel---
  id int(11) NOT NULL auto_increment,
  user_id varchar(5),
  spm_id varchar(5),
  svar varchar(5),
  PRIMARY KEY (id)
--- snap ----

Id // feltet siger sig selv
user_id // er id feltet fra bruger tabellen
spm_id // er id nummeret fra spørgsmål tabellen
svar // her gemmes det svar (1,2,3) afh. hvad brugeren mener er korekt!

her er strukturen på spm tabellen
----snip spørgsmål tabel ----
  id int(11) NOT NULL auto_increment,
  dato varchar(20),
  spm text,
  svar1 varchar(150),
  svar2 varchar(150),
  svar3 varchar(150),
  korekt char(2),
  PRIMARY KEY (id)
---- snap ----

det jeg skal have lavet er en oversigt over hver bruger og hvor mange korekte svar (og forkerte) de har

Men jeg ved ikke helt hvor jeg skal begynde...

Lidt praktiske eksempler:
data fra spørgsmål tabellen :
id : 7
dato :  1005346800
spm :  Hvilken dato skal ammatørscenen skansen være vært for DATS vendsysselkredsens generalforsamling ?
svar1 :  6. Marts 2002 
svar2 : 13. Marts 2002
svar3 :  20. Marts 2002
korekt :  1  // angiver hvilken af ovenstående svar muligheder der er korekt i tilfældet svar1

data fra svar tabellen :
id : 3
user_id :  9
spm_id :  7
svar :  1 

Jeg gik med en ide om at jeg skulle lave en count(??) i min forespørgsel, men kan ikke rigtigt dreje den hvordan jeg sakl starte.....

Nogen ider ??
Vi starter med 60 point :-)
Avatar billede mortenfn Nybegynder
15. november 2001 - 23:36 #1
select korekt.spm,*.svar from spm,svar where korekt.spm=svar.svar group by user_id.svar
Avatar billede mortenfn Nybegynder
15. november 2001 - 23:37 #2
nej den er ikke helt god
Avatar billede cyberdude Nybegynder
15. november 2001 - 23:39 #3
hvis der skal bruges de korekte tabel navne i sql\'en så er de lige her

kal_2001_user
kal_2001_spm
kal_2001_svar
Avatar billede cyberdude Nybegynder
15. november 2001 - 23:44 #4
mortenfn -> nej den var ikk egod. den gav fejl....
Avatar billede mortenfn Nybegynder
15. november 2001 - 23:47 #5
select *.spm,*.svar,count(user_id.svar)as antal from spm,svar where svar.svar=korekt.spm

jeg ved ikke jeg er lidt træt
Avatar billede mortenfn Nybegynder
15. november 2001 - 23:48 #6
nej den duer ikke jeg går i seng
Avatar billede cyberdude Nybegynder
16. november 2001 - 10:26 #7
er der slet ikke nogen der kan hjælpe ??
Avatar billede cyberdude Nybegynder
16. november 2001 - 10:33 #8
jeg har selv fundet frem til følgende :

$result=mysql_query(\"select *,count(svar) from kal_2001_svar group by user_id\");
  while ($row=mysql_fetch_row($result)) {
echo \"id : $row[0] - user_id : $row[1] - spm_id : $row[2] - svar : $row[3]<br>\\n\";

Men det funger ikke helt som det skal.....
JEg får 3 resultater, men der er 4 poster i min database.....?

jeg får følgende resultat :
id : 1 - user_id : 5 - spm_id : 7 - svar : 1
id : 4 - user_id : 8 - spm_id : 7 - svar : 3
id : 3 - user_id : 9 - spm_id : 7 - svar : 1

men i databasen er der følgende data :
id: \'1\', user_id: \'5\', spm_id: \'7\', svar: \'1\'
id: \'2\', user_id: \'5\', spm_id: \'2\', svar: \'2\'
id: \'3\', user_id: \'9\', spm_id: \'7\', svar: \'1\'
id: \'4\', user_id: \'8\', spm_id: \'7\', svar: \'3\'
Avatar billede cyberdude Nybegynder
16. november 2001 - 13:25 #9
jeg lukker lige her, da jeg har fundet en anden løsning, som jeg skal have hjælp til via et andet spm.!!
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