15. august 2003 - 14:41Der er
13 kommentarer og 2 løsninger
SQL-sætninger
Jeg sidder med et problem. Jeg aner ikke hvordan jeg skal trække det data ud jeg ønsker. Jeg har disse tabeller:
Brugere: brugerid navn osv.
Spørgsmål: spmid kategori spørgsmål, svar osv.
Afgivne svar: brugerid spmid rigtigt (ja/nej)
Altså en brugertabel med brugerdata (login m.m.), en spørgsmålstabel (hvor der er spørgsmål, kategori, svarmuligheder og hvad det rigtige svar er) og en svar-tabel hvor der gemmes id's så de kan sammenlignes (brugerid = 1, spmid = 1, rigtigt= ja. Bruger 1 har svaret rigtigt på spm 1).
Mit problem er at jeg ikke aner hvordan jeg på en spørgsmålsoversigt kan vise hvor mange spørgsmål i hver kategori, der ikke er svaret på. Altså, en bruger logger ind. Han har brugerid 1. Han har svaret på 5 af 10 spørgsmål i kategori 1, og 4 af 10 i kategori to. Det skal vises, at der er 5 tilbage i kategori 1, og 6 i kategori 2. Men det indebærer at brugerens id slås op i svar-tabellen og alle spmid findes hvor brugerid = 1. Derefter skal alle disse spmid's åbnes og tjekkes i kategori. Derudover skal der tjekkes hvor mange der er i kategorierne i det hele.
Det LEFT JOIN gør her, er at den kun henter poster ud hvor spmid'et i spørgsmålstabellen er lig spmid'et i svartabellen. Og ud af dem henter den kun den aktuelle brugers svar og dem som er svaret rigtigt på.
Nej, det bliver man hurtigt afhængig af... Før jeg lærte det at kende måtte jeg løbe den ene tabel igennem og for hvert svar, checke i andre tabeller. Så bliver applikationen altså meget hurtigt meget langsom!!! :)
Jaeh, men det første mig jo bare hen til næste problem, heh. Jeg er dog i dag gået igang med at læse lidt fra wc3shools.com om korrekt kodning. Samtidig med at jeg får det hele genopfrisket. HTML/XHTML/CSS/ASP/SQL Så derefter burde jeg være i stand til at fortsætte uden de hele store problemer.
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.