Autor Zpráva
david 4657
Profil *
Ahoj všem,

prosím o radu - trápím se nad tím už několik dní...

jsem učitelem na střední škole a chtěl bych si udělat databázi známek a zkoušek online. Vím že existují aplikace jako moodle v menším, ale už jsem se do toho pustil tak co :)

všechno mi funguje, teď bych chtěl mít jen výběr za celý rok...

mám tabulku s výsledky písemek
- id_pisemka
- id_zak
- znamka

seznam písemek
- id_pismenka
- a další věci o písemce, zadání a tak....

seznam žáků
- id_zak
- a další věci...

a teď si chci udělat kompletní hodnocení....

takže si udělám tabulky

zebricek
- id_zebricek
- jmeno (hodnocení pololetí, hodnocení roku, měsíce.... )

zebricek_bodovani (některé písemky jsou za víc, takže při importu nastavím hodncoení)
- id_bodovani
- jmeno (zkoušení, čtvrtletka)
- pocet_zapocitanych (viz dale)
- 1 (5,10)
- 2 (4, 9)
- 3
- 4
- 5

takže pro zkoušení za 1 dostane 5 bodů, ale pro čtvrtletku deset.... bodování je docela dost

zebricek_pisemky (tady nastavim jaká písemka si podle čeho boduje)
- id_pisemka
- id_bodovani



A co teď? teď chci ty data nějak vytáhnout :) Ještě sem si to zpestřil tim, že se bude počítat třeba jen 5 zkoušení (nejlepších) a 4 čtvrtletky (všechny....)


nějak se mi z toho stává šílenej bastl z dotazů...

mohl by mi prosím někdo poradit? Hlavně nevím jak vyřešit to omezení počtu písemek započítaných do hodnocení



díky moc
David....
BetaCam
Profil
No je to moc pěkné, ale co chceš mít vlastně na výstupu??
TSD
Profil *
Nikdo ti neporadí, pokud přesně nezformuluješ, co vlastně chceš. V tabulkách jsem se zorientoval, až na zebricek jsem pochopil účel, ale jak má vypadat výstup, netuším.

Kromě toho na databáze je tady extra kategorie.
TSD
Profil *
chjo
david 4657
Profil *
mno nejde ani tak o databáze jako o ten algoritmus - to je spíš programování... :)


co chci...

tabulku kde bude

jan novák 1 (10) 4(1) 3(4) 2(5) 2(4) - celkem 18 bodů (protože 4 se nepočítala, dejme tomu že v tomto žebříčku se počítají jen čtyři nejlepší testy)
známka, v závorce počet bodů.
david 4657
Profil *
eh 23 bodů :)
BetaCam
Profil
david 4657

No dejme tomu, ale možná by bylo dobré tady uvédst nějaké testovací data :)
david 4657
Profil *
testovací data....

ok ono se to blbě píše jako text :)

co je cílem:
zobrazit hodnocení za rok
(do toho patří písemka číslo 1, 2, 3, 4, 5, čtvrtletka 1, 2, 3, 4 a zkoušení 1, 2, 3, 4, 5,6)
mám člověka jménem honza.

honza dostal pokaždé za tři.

písemka se boduje opačně, tedy za 1 je pět bodů... čtvrtletka stejně, jen jen za 1 je 50 bodů. zkoušení je za 1 25 bodů. Za trojku to v tohle případě bude 3 body, 30 bodů a 15 bodů.

dohromady by to dělalo 5x3 (pět písemek za tři po třech bodech) + 4x30 + 6x15 což je 225

do hodnocení se ale započítává tři písemky, čtyři čtvrtletky a dvě zkoušení - 189

tak a teď ty tabulky :)

v tabulce známky bude id honzy, id písemky a známka

v tabulce zebricek_pisemky mam
id písemky a id bodování

z tabulky bodovani vytáhnu podle id bodovani počet bodů za 1, 2, 3, 4 a 5 - známky mám ve sloupcích v řádcích jednotlivé bodování.



no a teď potřebuju nějak rozumně vytáhnout tyhle data pro všechny lidi

v praxi jde o stejnou věc jako třeba žebříček ATP v tenise - některý turnaje jsou bodovaný víc, některý míň. Já to jen ještě proškrtávám...
BetaCam
Profil
david 4657

No testovací data se vetšinou posílaj jako dump tabulek. Takhle je to na zblaznění to přepisovat ručne. :) Bylo by teda jednoduší poslat sem dump struktury DB + inserty nějakých dat než, abych si to tam musel přepisovat.
david 4657
Profil *
já ti v tabulce nemám, zatím si to čmárám na papír :)

To že mi to funguje jsem myslel že vím jakt o udělám - to jsou ale jednotlivé a dílčí výsledky. u hodnocení souboru výsledků jsem se zasekl a prostě nevím jak dál...
BetaCam
Profil
david 4657

V tom případě by bylo lepší si to nacpat do tabulek a až poté řešit problém. 90% věcí se stejně bude dělat pomocí SQL a proto je to nutné na něčem vyskoušet.
peta
Profil
david 4657
Jake jsou tve znalosti PHP / MySQL?
Podle toho, co pises, bych toho moc netipoval...
Zkus zprovoznit chat:
# www.volny.cz/peter.mlich (zdroj: minichat.txt)
# www.volny.cz/peter.mlich (zdroj: minichat.sql)
Mozna je tam chyba ve vypisu dole, protoze jsem to upravoval a pak netestoval; najdi, oprav a jestli ti to bude fungovat, pak se muzeme bavit dal.

Zatim bych to shrnul takto:
* Jak vypadaji tve MySQL tabulky? (chat - viz soubor SQL)
Hodil by se mozna i priklad dat. v Kazde tabulce, nejlepe 2-5 radku.
* Jake udaje by jsi z nich potreboval vytahnout s jakymi podminkami?
Podle toho se stanovuji klice - key - indexy pro tabulky
* Co z toho uz mas hotove?

Muzu ti dat priklad zpracovani anket:
http://axpsu.fpf.slu.cz/~web/eval_x/eval_exp.txt
http://axpsu.fpf.slu.cz/~web/eval_x/eval_vysledky.sql
http://axpsu.fpf.slu.cz/~web/eval_x/eval_vysledky1.txt
- export ze Stagu v CSV
- struktura sql tabulek
- program txt->php, je treba nastavit pristup do SQL, tabulku, databazi a pod, nahore. A jmeno souboru pro odesilani formulare.

Ale pozor, zobrazovani vysledku jakehokoli zaka, verejne, je poruseni nejakeho zakona, tusim osobnich udaju. Predstav si, ze by nejaky bohaty synek mel horsi znamky nez nekdo jiny na koho je nastvany. Pak se mu bude chtit treba mstit. Ty k tomu prispejes.
BetaCam
Profil
peta
Zkus zprovoznit chat:
# www.volny.cz/peter.mlich (zdroj: minichat.txt)
# www.volny.cz/peter.mlich (zdroj: minichat.sql)
Mozna je tam chyba ve vypisu dole, protoze jsem to upravoval a pak netestoval; najdi, oprav a jestli ti to bude fungovat, pak se muzeme bavit dal.


Co to proboha jako má znamenat??
david 4657
Profil *
Tak díky no :D To je jako nějaký test? :D

nejde o znalosti php ani myslq... jde mi o algoritmus výběru z databáze.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0