Technikai fórum

Teszt eredmények exportja

 
Kép
Teszt eredmények exportja
Klötzl Ferenc írta 2012. január 17., kedd, 13:04 időpontban
 
Sziasztok,

Szeretném egy-egy teszthez kapcsolódóan az eredményeket exportálni, méghozzá úgy, hogy a tanuló felhasználóneve, neve és elért pontszámai mellett a kérdéseket és az azokra adott válaszait is lássam. excel lenne a kimenet. Valaki ötlete erre? 

Köszönettel:Klötzl Ferenc
Kép
Tárgy: Teszt eredmények exportja
Gángó Vince írta 2012. január 20., péntek, 12:07 időpontban
 
Szia!

Kész megoldásom nincs, korábban már csináltam ilyesmit, az elvet leírom. A teszt összesített eredményeit az alábbi lekérdezés adja (ez persze szabadon bővíthető plusz mezőkkel ha kell):
select q.sumgrades,q.uniqueid,q.layout,concat(u.lastname,' ',u.firstname) as nev from quiz_attempts q, user u where q.userid=u.id and quiz=#IDE ÍRD BE A TESZT AZONOSÍTÓJÁT# order by nev

Az eredményhalmazon egy ciklussal fuss végig, az alábbiakat minden iterációnál végre kell hajtani:
  • a teszt eredményét (%) a (sumgrades - 1) * 2 képlettel számoltam ki (ne kérdezd miért, talán így egyezett a Moodle felületén látottal)
  • a teszt kérdéseinek azonosítószámait a layout mező tartalmazza vesszővel elválasztva, ezen hallgatónként egy-egy újabb ciklussal végig kell menni. Az egyes hallgatók egyes feladatokra adott válaszait a question_states tábla tárolja, a lekérdezés ilyesmi:
    select answer from question_states where question=#KÉRDÉS AZONOSÍTÓSZÁMA# and event=6 and attempt=#AZ ELŐZŐ LEKÉRDEZÉSBŐL SZÁRMAZÓ uniqueid MEZŐ#
    Az event mező tartalmában nem vagyok biztos, hogy miért a 6-ost kell keresni, bizonyos kérdéstípusnál a 8-ast, ennek utána kellene járni. Ez a lekérdezés valószínűleg csak egy számot fog adni, ami a válasz azonosítószáma, ebből ki kell még hámozni a szöveges választ, ezt a question_answers táblából tudod kinyerni (eddig én nem jutottam, elegendő volt az azonosítószámot vizsgálnom)

Remélem segítettem valamelyest!

Vince

Kép
Tárgy: Teszt eredmények exportja
Klötzl Ferenc írta 2012. január 27., péntek, 11:20 időpontban
 
Kösz, meg fogom nézni.

Klötzl Ferenc