【问题标题】:php-handling dynamic created radio buttonphp 处理动态创建的单选按钮
【发布时间】:2014-06-24 17:16:36
【问题描述】:

我正在创建一个动态测验页面,其中每个问题有两个选项和一个单选按钮,用于将其值与数据库中的值进行比较,以了解答案是否正确

问题和选择存储在数据库中,并在代码中检索,每个问题都在自己的表中

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
</head>
<body>
    <form method="post" class="RegularFont" action="quiz.php">
        <?php
        require_once 'database.php';

        $res = mysql_query("select * from quiz");
        while ($row1 = mysql_fetch_array($res)) {\\create a table for every entry
            echo <<<_END
        <div style="padding-bottom: 30px">
        <table border="">
        <th colspan="2">question 1</th>
        <tr>
        <td colspan="2">  $row1[0] </td>
        </tr> 
        <tr>
        <td>$row1[1]<input type="radio" name='true1[$row1[1]]' value='1'></td>
        <td>$row1[2]<input type="radio" name='true1[$row1[1]]' value='2'></td>
        </tr>
        </table>
        </div>
_END;
        }

        ?>
        <input type="submit" value="submit">
    </form>
</body>

所以每个单选按钮的值可以是 1 或 2 ,我想将它与数据库中的值进行比较,其中我的正确答案是数字 1 或 2

我尝试使用

foreach ($_POST['true1'] as $value)

但不能正确,我希望它可以动态地用于任意数量的输入

【问题讨论】:

  • 我认为您的foreach 应该可以工作。请提供有关失败原因的更多详细信息。
  • 当我使用 foreach 时,$value 是每个收音机的值,所以我很适合这里,但是我将如何将此值与对应的值进行比较(在数据库),如果它相等,我想增加一个变量 x 例如。
  • 我下面的回答没有解决这个问题?
  • 好吧,我可以将 $key$value 进行比较,假设关联数组包含正确答案 '1' 或 '2' 的值,但如果你能想象出正确答案的列,它会是 '1'/'2'/'1'/'1' 这样会破坏单选按钮不会对每个问题都是唯一的,我希望你能理解我
  • 您不能将$key$value 进行比较。您将它与数据库中的列进行比较,因为它是您创建 name=true1[$row1[1]]' 时的来源。

标签: php html


【解决方案1】:

你可能应该使用:

foreach ($_POST['true1'] as $key => $value)

您需要$key,这样您就知道单选选择引用数据库的哪一行。

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2011-07-28
    • 2016-05-05
    • 2016-08-20
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多