Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da napravim sledeci upit:

[es] :: MySQL :: Kako da napravim sledeci upit:

[ Pregleda: 2895 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Kako da napravim sledeci upit:15.01.2006. u 23:22 - pre 222 meseci
U tabeli mi se cuvaju sledeci podaci:
1. pitanje
2. studentov odgovor
3. tacan odgovor


Ono sto meni treba jeste da na nekoj stranici izlistam sva pitanja i indexe tezine na njih.
Indexi tezine se racunaju tako sto se broj netacnih odgovora podeli sa brojem ukupnih odgovora.

Pa npr. neko pitanje se javlja ukupno 20 puta, od toga je bilo 10 netacnih odgovora, dakle index tezine ce mu biti 0.5

Drugo pitanje se javilo 30 puta, od toga je bilo 6 netacnih odgovora, njegov index tezine je 0.2.

itd...

Dakle, trebalo bi mi nesto kao count studentov odgovor razlicito od tacan odgovor pa to podeljeno sa count pitanje i da se posalje sa php u ispis u tabelu koja sadrzi dve kolone - pitanje i njegov index tezine.


Kako to da uradim.
Hvala?
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.ADSL.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Kako da napravim sledeci upit:15.01.2006. u 23:45 - pre 222 meseci
Pa ne čuva ti se tako kako si na početku predstavio. Ako posmatraš neko pitanje, na njega je uvek isti odgovor tačan, nezavisno od toga kako je pojedini student odgovorio na njega. Znači, tačan odgovor i studentov odgovor nisu dve kolone iste tabele.

Treba ti više tabela za sve ovo ... u jednoj tabeli recimo držiš formulaciju pitanja i oznaku tačnog odgovora, u drugoj ponuđene opcije za odgovor na pojedina pitanja, a u trećoj odgovore studenata.

- pitanje (idpitanje, tekstpitanje, rbodgovor)
- odgovor (idpitanje, rbodgovor, tekstodgovor)
- test (idstudent, idpitanje, rbodgovor)

...
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.absolutok.net.



Profil

icon Re: Kako da napravim sledeci upit:16.01.2006. u 00:45 - pre 222 meseci
Huh, ta tabela vec postoji (znam da nije najidealnije resenje - ali napravljena je iz nekog razloga tako) i ima sve pobrojane kolone.


Prve dve tabele koji se naveo postoje tako kako si naveo. Ova je dodate kasnije, modifikovana je skripta. I cuva se sve u njoj. Znam da tabela nije normalizovana, ali je radjeno na brzaka, ja bas time ne baratam, pa je u nju strpano sve sto se moglo izvuci u trenutku kad je test kompletiran i kad se studentu posalju rezultati na uvid.

Radi se o tome kad neko resi on line test da mu se pokupe sva pitanja koja je nasumicnim izborom dobio, odgovori koje je dao i odgovor koji je trebalo da da i sve to upise u tabelu. I to je tabela sa rezultatima. Tako da npr. jedno pitanje se pojavljivalo veci broj puta, znam da je redudanto to sto se pise tacan odgovor jer je on uvek isti ali...


Shema tabele iz koje kupim to sto mi treba za statistiku.

pitanje studentov odgovor tacan odgovor

pitanje1 a b
pitanje1 b b
pitanje1 a b
pitanje1 b b
pitanje1 c b

pitanje2 a a
pitanje2 c a
pitanje2 c a
pitanje2 b a
pitanje2 b a

pitanje3 a c
pitanje3 b c
pitanje3 c c
pitanje3 c c
pitanje3 c c

U ispisu treba dobiti:

pitanje index tezine

pitanje1 0.6 (tj 3 netacna kroz 5 ukupno)
pitanje2 0.8
pitanje3 0.4


Kako da izracunam i upisem promenjivu $index_tezine

Code:


$sql = "SELECT * FROM nq_Statistics GROUP BY pitanje";

$rezultat = mysql_query($sql);
...

<th>Pitanje</th>

<th>Index</th>
...

while( $r = mysql_fetch_array($rezultat))
 {
...

<td><?= $r['pitanje'] ?></td>

<td><? $index_tezine ?></td>

...



[Ovu poruku je menjao Psyche dana 16.01.2006. u 03:55 GMT+1]
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Kako da napravim sledeci upit:16.01.2006. u 08:54 - pre 222 meseci
Code:
SELECT pitanje, sum( odgovor != tacan ) / count( * ) tezina
FROM student
GROUP BY pitanje

 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.rcub.bg.ac.yu.



Profil

icon Re: Kako da napravim sledeci upit:16.01.2006. u 22:23 - pre 222 meseci
Hvala!
 
Odgovor na temu

Psyche
Beograd

Član broj: 43591
Poruke: 112
*.f.bg.ac.yu.



Profil

icon Re: Kako da napravim sledeci upit:20.01.2006. u 22:05 - pre 222 meseci
Jos jedno pitanje.

U posebnoj tabeli cuvaju se pitanja i njihovi ID-ovi. U drugoj tabeli imam samo ta pitanja (tekst) koja se javljaju i po vise puta. Kako da toj drugoj tabeli dodam jednu kolonu i pitanjima pridruzim njihove ID - ove na osnovu prve tabele?


Prva tabela - Questions

id (autoincrement)
question (text)

Oko 100 unosa, tj. 100 unikatnih pitanja


Druga tabela - Statistics
unos_id (autoincrement)
student_id
datum
pitanje
studentov_odgovor

Oko 2000 unosa, tj. ovih 100 pitanja se u proseku javlja dvadesetak puta u drugoj tabeli.


Pre kolone pitanje, trebalo bi ubaciti kolonu sifra_pitanja tj. id iz prve tabele. Kako to da uradim automatski, ako je uopste moguce.

Ovo mi treba stoga sto koristim link preko kojeg potom selektujem sve studentske odgovore za jedno pitanje kako bih mogla da pratim njihov distribuciju u novoj tabeli.

Trenutno imam: odgovori.php?pitanje=Sta%20je%20asimilacija?
ili jos duze stringove u zavisnosti od pitanja sto nije bas OK.
Htela bih da stoji ovo: odgovori.php?pitanje=12

[Ovu poruku je menjao Psyche dana 21.01.2006. u 01:30 GMT+1]
 
Odgovor na temu

[es] :: MySQL :: Kako da napravim sledeci upit:

[ Pregleda: 2895 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.