| 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: 14 let
|
|||
0