Autor | Zpráva | ||
---|---|---|---|
rian_man Profil |
#1 · Zasláno: 12. 4. 2012, 12:20:52
Zdravím ve spolek,
předem se chci omluvit, jestli to tu už někdo probíral, ale jsem v časovém presu na dokončení webových stránek a hodí se mi každý názor jak si s problémem poradit. Jde o to: pomoci MySql A PHPmyAdmin jsem si vytvořil databázi otázek (atributy id,kategorie,otazka,a,b,c). kategorií mam celkem 10, otázek bude hodně přes 100 a možnost "a" je psána jako správná. Dále mám skript na vypsání zadaného počtu náhodných otázek z každé kategoie s tím, že možnosti a,b,c se zobrazují v náhodném pořadí. zdrojový kod "test.php": <? $spojeni=MySQL_Connect("localhost","e090110","heslo"); $databaze=MySQL_Select_DB("e090110",$spojeni); $sql = "SELECT * FROM test WHERE kategorie LIKE 'A' ORDER BY RAND () LIMIT 3"; $ans = mysql_query($sql) or die ("Query Sencond Error!"); while($zaznam = mysql_fetch_array($ans)) { $array = array($zaznam['a'], $zaznam['b'], $zaznam['c']); shuffle($array); $a=$array[0]; $b=$array [1]; $c=$array [2]; $otazka= $zaznam['otazka']; $spravne= $zaznam['a']; $cislo= 'answ'.$zaznam['id']; ?> <form name='test' action='vyhodnoceni.php' method='POST' onsubmit="oprava()"> <fieldset id="radia"><legend id="otazka"><b><?echo $otazka?></b></legend> <input type="radio" name="<?echo $cislo?>" value="<?echo $a?>"><?echo $a?> <input type="radio" name="<?echo $cislo?>" value="<?echo $b?>"><?echo $b?> <input type="radio" name="<?echo $cislo?>" value="<?echo $c?>"><?echo $c?> <input type="hidden" name="id" value="<?echo $spravne?>"> </fieldset> <? } ?> <input type="submit" value="Výsledek"> </form> Problém ale nastává ve chvíli, kdy chci opravit vyplnění testu. Zkoušel jsem to pomocí funce "foreach": foreach ($_POST as $odpoved) { echo $odpoved."<br>"; } Předem děkuji za jaký koliv návrh, jak si s tím poradit nebo co udělat jinak. |
||
Alphard Profil |
#2 · Zasláno: 12. 4. 2012, 18:35:53
Tak jestli nevadí správná odpověď uvedená ve zdrojáku, mělo by to být docela snadné.
Do value si dejte třeba tvar cisloOtazky_spravnaOdpoved a pak použijte explode().
Nebo můžete použít rovnou přístup přes pole name="pole[klic]" value="hodnota" .
|
||
Časová prodleva: 12 let
|
0