【问题标题】:How to allow each set of radio buttons to be selected once?如何允许每组单选按钮被选中一次?
【发布时间】:2013-05-31 15:34:18
【问题描述】:

我已经执行了一个 while 循环来获取数据库中的所有问题和答案,但是,我无法使用单选按钮为每个问题选择一个答案。

<form class ="formlayout" action = "Test.php" method = "post">
    <?php
    while ($row = mysqli_fetch_assoc($result)) {
        $question = $row['question'];
        $option1 = $row['option1'];
        $option2 = $row['option2'];
        $option3 = $row['option3'];
        ?>

        <?php echo $question ?> <br>
        <input type="radio" name="<?php echo $i ?>" value="$option1"><?php echo $option1 ?><br>
        <input type="radio" name="<?php echo $i ?>" value="$option2"><?php echo $option2 ?><br>
        <input type="radio" name="<?php echo $i ?>" value="$option3"><?php echo $option3 ?><br>
        <?php echo "" ?><br>
        <?php
    }
    ?>
        <input type="submit" value="Submit"/>
</form>

谢谢。

【问题讨论】:

  • 您需要设置 $i 变量并为每个问题使用相同的单选按钮名称
  • 嗨,你能详细说明这个问题吗?你能从所有的问题中只选择一个选项吗?或者你可以为同一个问题选择多个答案吗??
  • 据我从您的代码中可以理解...您正在尝试为每个问题加载所有问题和 3 个可能的选项,用户可以从中选择一个。因此,每个问题的选项标签都需要一个唯一的名称:$i = 1; &lt;input type=radio name=option[1]/&gt;&lt;input type=radio name=option[1]/&gt; &lt;input type=radio name=option[1]/&gt; 等每个问题

标签: php html radio-button


【解决方案1】:

只需给他们相同的名字:

<form class ="formlayout" action = "Test.php" method = "post">
    <?php
    while ($row = mysqli_fetch_assoc($result)) {
        $question = $row['question'];
        $option1 = $row['option1'];
        $option2 = $row['option2'];
        $option3 = $row['option3'];
        ?>

        <?php echo $question ?> <br>
        <input type="radio" name="YourName" value="$option1"><?php echo $option1 ?><br>
        <input type="radio" name="YourName" value="$option2"><?php echo $option2 ?><br>
        <input type="radio" name="YourName" value="$option3"><?php echo $option3 ?><br>
        <?php echo "" ?><br>
        <?php
    }
    ?>
        <input type="submit" value="Submit"/>
</form>

【讨论】:

  • 同名无效,因为我们有很多问题。所有问题的答案都将集中在一组中。
【解决方案2】:

我认为 $i 是未定义的,你为什么不简单地使用一些静态字符串作为名称.. 例如:

<input type="radio" name="my_radio"/>

【讨论】:

    【解决方案3】:

    定义您的$i 并使其具有不同的答案组,您也可以更改您的电台名称,以便稍后轻松解析:

    <form class ="formlayout" action = "Test.php" method = "post">
        <?php
        $i = 0;
        while ($row = mysqli_fetch_assoc($result)) {
            $question = $row['question'];
            $option1 = $row['option1'];
            $option2 = $row['option2'];
            $option3 = $row['option3'];
            ?>
    
            <?php echo $question ?> <br>
            <input type="radio" name="answer_<?php echo $i ?>" value="$option1"><?php echo $option1 ?><br>
            <input type="radio" name="answer_<?php echo $i ?>" value="$option2"><?php echo $option2 ?><br>
            <input type="radio" name="answer_<?php echo $i ?>" value="$option3"><?php echo $option3 ?><br>
            <?php echo "" ?><br>
            <?php
            $i++;
        }
        ?>
            <input type="submit" value="Submit"/>
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-04
      • 2018-01-23
      • 2014-01-04
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2014-01-25
      相关资源
      最近更新 更多