Autor | Zpráva | ||
---|---|---|---|
jiri40 Profil |
#1 · Zasláno: 13. 1. 2012, 16:36:01
Dobrý den, dělám úkol do školy, který zní: Vytvořit aplikaci, která vylosuje 20 náhodných otázek ze souboru 1000 otázek, které jsou rozděleny dle předmětu (Word, Excel, PP) a dle obtížnosti (lehká, střední, těžká). Každá z 1000 otázek má k dispozici 5 odpovědí (0-5 správně).
Vytvořil jsem zkušební verzi (http://www.mngi.ic.cz/) v PHP, která vylosuje podle obtížnosti a předmětu 20 otázek (data "tahá" z databáze MySQL, výsledky by učiteli chodily do e-mailu). Učiteli se však zdá tato varianta uživatelsky nepřívětivá a něco na tom je, ale nic lepšího jsem nevymyslel. Radši by měl formulářová pole hned vedle otázek a odpovědí a výsledky vyhodnocoval nějak takto v JS: http://www.mngi.ic.cz/test_js.php. Přijde mi, že to tímto způsobem nelze aplikovat na losování otázek a navíc je to jen pro jednu správnou odpověď, ale jsem hlavně v JS naprostý amatér. Prosím o radu, jestli lze tento úkol nějak jednoduše vyřešit, ať už v PHP nebo v JS? Díky |
||
Tori Profil |
#2 · Zasláno: 13. 1. 2012, 21:45:38
jiri40:
A co kdybyste to zkombinoval dohromady, bez JS? Použít vzhled podle test_js.php, náhodný výběr otázek podle původní verze. Tlačítkem "Zkontrolovat" se formulář normálně odešle a zpracuje, pošlete mail, a kromě pozdravu od učitele zobrazíte znova texty otázek a odpovědí, které uživatel zaškrtnul, a zvýrazníte, jestli byly správné. Btw koukněte se, k čemu je <label>. Kdyby bylo přepínačů pár tak ok, ale při [20 otázek krát 5 možností] je už dost nešikovné trefovat se do přepínače. |
||
jiri40 Profil |
#3 · Zasláno: 14. 1. 2012, 08:18:05
Díky moc za tip, je to dobrý nápad. Pokusím se o to a dám vědět, jak to dopadlo. Jen ještě jedna věc - když se ty otázky losují, nedokážu je a jejich okolí jakýmkoli způsobem graficky či jinak upravovat - např. aby byla otázka vypsána tučným písmem a odpovědi ne či právě aby byly zaškrtávací políčka před každou z odpovědí. Dokázali byste poradit i s tímto? Děkuji.
|
||
Tori Profil |
#4 · Zasláno: 14. 1. 2012, 14:25:27
jiri40:
A jak máte ty otázky a odpovědi uložené? |
||
jiri40 Profil |
#5 · Zasláno: 14. 1. 2012, 15:07:35
Tori:
Otázky a odpovědi jsou uložené v databázi MySQL. Každý řádek v databázi má devět položek, viz příklad níže. Vždy když se pokouším nějakým způsobem formátovat výstup (těch 20 náhodných otázek), objeví se chybová hláška. Díky za trpělivost. otazka_cislo - otazka_zadani - kategorie - obtiznost - odpoved_a - odpoved_b - odpoved_c - odpoved_d - odpoved_e; Otázka č. 1 - Aěščřžýáíé1 - Word - 1 - a)bcd1 - b)fgh1 - c)xyz1 - d)opq1 - e)klm1. |
||
Tori Profil |
#6 · Zasláno: 14. 1. 2012, 15:40:13
Ten návrh DB není úplně fajn - kdybyste chtěl přidat víc možných odpovědí, budete muset přidávat další sloupce a to je špatně. Tabulka představuje nějakou věc, objekt, entitu, a jednotlivé sloupečky jsou její vlastnosti. Odpověď ale není vlastnost otázky. Dala bych otázky do samostatné tabulky, se sloupci
id_otazky, id_odpovedi, text, poradi, jeSpravna . A aby se neopakovala stejná data ve sloupcích kategorie a obtížnost, dala bych tyhle dva sloupečky do tabulky kategorií (id_kategorie, nazev, obtiznost ). Tabulka otázek by pak vypadala id_otazky, id_kategorie, zadani .
Kdybyste něčemu nerozuměl, proč to tak navrhuju, ptejte se. Na linuxsoftu je starší ale stále dobrý seriál o MySQL, budou se vám hodit hlavně díly o spojování tabulek. Každopádně bych udělala aspoň tu první změnu (osamostatnění odpovědí), bude se s tím i v PHP trochu přehledněji pracovat (ve FAQ je naznačené jak). |
||
jiri40 Profil |
#7 · Zasláno: 14. 1. 2012, 16:28:26
Zní to zajímavě, mám tedy co studovat. Fakt je ale ten, že můj učitel by si to pak rád spravoval sám a on to má uložené v XLS tabulce ve formátu, který jsem uváděl, tzn. na jednom řádku kategorie, obtížnost, otázka a odpovědi k ní. Jdu na to, držte mi palce a já se ještě ozvu, jak to vypadá. Díky.
|
||
Časová prodleva: 12 let
|
0