Autor | Zpráva | ||
---|---|---|---|
Mmarek9122 Profil |
čaute ...
poterbujem zase pomôcť ale tento raz to je už vyhodnotenie. neviem ako ho presne spraviť. skúšal som cez funkciu for ale tak niečo tam šlo a niečo nie. tu je tá kontrola <? for($i = 0; i <= count($_POST['otazka_id']); $i++){ $vyhodnoceni = mysql_query("SELECT spravna FROM ".TBL_QUESTIONS." WHERE id='".mysql_real_escape_string($_POST['otazka_id'][$i])."' "); while($vyhodnotenie = mysql_fetch_assoc($vyhodnoceni)){ if($_POST['odpoved'][$i] == $vyhodnotenie['spravna']) echo "Na otázku ".$vyhodnotenie['id']." ste odpovedali správne."; else echo "Na otázku ".$vyhodnotenie['id']." jste odpovedali zle. Správna odpoveď: . Odpovedali ste: ."; } } ?> ale nenapadá ma ako spraviť to žeby mi ukázalo v % aký mám výsledok. Vedeli by ste mi s tým pomôcť alebo niečo? alebo keď niekto by sa nudil tak či by mi to nespravil. |
||
juriad Profil |
#2 · Zasláno: 23. 2. 2012, 19:39:21
před 2. řádek přidej:
$pravnych = 0; $spravnych++; Za řádku 10 přídej: echo "Správných odpovědí: ".$spravnych." (".($spravnych/count($_POST['otazka_id'])*100).")"; Rekapitulace: počítáš si počet správných odpovědí, nakonec je vydělíš počtem otázek Rozmysli si situaci, když na nějakou otázku neodpoví?? |
||
Mmarek9122 Profil |
#3 · Zasláno: 24. 2. 2012, 23:34:33
okis dik ... už to ide ... a keď ten výsledok chcem hodiť do DB? počet percent bez toho aby som ešte niekde klikal?
|
||
juriad Profil |
#4 · Zasláno: 25. 2. 2012, 10:02:18
tak za to přidáš ještě:
mysql_query("INSERT INTO vysledky VALUES ($testovanaOsoba, $testId, $spravnych)"); počet procent můžeš kdykoli později znovu vypočítat, počet správných odpovědí by byl zatížený chybou (desetinný počet procent) |
||
Mmarek9122 Profil |
#5 · Zasláno: 26. 2. 2012, 13:06:35
okis diki...
funkciu na odosielanie mám $database->query("INSERT INTO ".TBL_SCORE."(user,category,percent,time) VALUES('$session->username', '$vyhodnotenie['kategoria']', '$p', NOW())"); len kde ju mám vložiť? a vzhľad kódu mám takýto: <?php $k=0; for($i = 0; $i <= count($_POST['otazka_id']); $i++){ $vyhodnoceni = mysql_query("SELECT spravna FROM ".TBL_QUESTIONS." WHERE id='".mysql_real_escape_string($_POST['otazka_id'][$i])."' "); while($vyhodnotenie = mysql_fetch_assoc($vyhodnoceni)){ if($_POST['odpoved'][$i] == $vyhodnotenie['spravna']) {$k++; $o++;} else {$o++;} } } $p = ($k/$o)*100; echo "Odpovedali ste správne na <b><u>".$k."</u></b> otázok a získali ste <b><u>".$p."</u></b> percent"; ?> |
||
juriad Profil |
#6 · Zasláno: 26. 2. 2012, 15:44:21
kamkoli za 16. řádek, tam už znáš všechny informace
a co kdyby sis to zkusil?? |
||
Mmarek9122 Profil |
#7 · Zasláno: 27. 2. 2012, 01:15:33
no ja som to skúsil ale vyhadzuje mi chybu ...
<?php $k=0; for($i = 0; $i <= count($_POST['otazka_id']); $i++){ $vyhodnoceni = mysql_query("SELECT spravna FROM ".TBL_QUESTIONS." WHERE id='".mysql_real_escape_string($_POST['otazka_id'][$i])."' "); while($vyhodnotenie = mysql_fetch_assoc($vyhodnoceni)){ if($_POST['odpoved'][$i] == $vyhodnotenie['spravna']) {$k++; $o++;} else {$o++;} } } $p = ($k/$o)*100; echo "Odpovedali ste správne na <b><u>".$k."</u></b> otázok a získali ste <b><u>".$p."</u></b> percent"; $database->query("INSERT INTO ".TBL_SCORE."(user,category,percent,time) VALUES('$session->username', '$vyhodnotenie['kategoria']', '$p', NOW())"); ?> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users/marekpal/socka.6f.sk/web/kontrola.php on line 95 |
||
juriad Profil |
#8 · Zasláno: 27. 2. 2012, 01:37:23
použij jen
'$vyhodnotenie[kategoria]' bez "vnitřních apostrofů": uvnitř stringu přistupuješ k prvkům pole hranatými závorkami, ale index (klíč) už neuvozuješ
http://php.net/manual/en/language.types.string.php#language.types.string.parsing |
||
Mmarek9122 Profil |
#9 · Zasláno: 27. 2. 2012, 11:33:46
no dobre už chybu nevypíše ale ani neodošle do DB ...
|
||
Časová prodleva: 14 let
|
0