Php 单选按钮名称属性可以有数值吗
不确定问题标题是否足够清楚-但我指的是-给单选按钮的name属性指定一个数值(比如102)是一种不好的做法吗Php 单选按钮名称属性可以有数值吗,php,for-loop,radio-button,forms,Php,For Loop,Radio Button,Forms,不确定问题标题是否足够清楚-但我指的是-给单选按钮的name属性指定一个数值(比如102)是一种不好的做法吗 <input type="radio" name="102" value="2032" /> Hello World 你好,世界 如果这是一个坏主意-我该如何处理这种情况。 我有一个选择题考试,所有60道题都会同时显示在页面上 问题存储在一个问题数组中,对于每个问题,多项选择存储在一个答案数组中 这是一个for循环,它生成60个问题和它们的多选答案——现在我使用问题id作
<input type="radio" name="102" value="2032" /> Hello World
你好,世界
如果这是一个坏主意-我该如何处理这种情况。
我有一个选择题考试,所有60道题都会同时显示在页面上
问题存储在一个问题数组中,对于每个问题,多项选择存储在一个答案数组中
这是一个for循环,它生成60个问题和它们的多选答案——现在我使用问题id作为单选按钮的值
<?php
$question_ids = array_keys($this->question_array);
foreach($question_ids as $question_id)
{
$question = $this->question_array[$question_id];
$answers = $this->answer_array[$question_id];
?>
<div>
<strong>Q) <?php echo $question['question'];?></strong>
<div>
<?php foreach ($answers as $answer) { ?><br/>
<input type="radio" name="<?php echo $question_id;?>" value="<?php echo $answer['answer_id'];?>" /> <?php echo $answer['answer'];?>
<?php } ?>
</div>
</div>
<?php
} ?>
Q)
因此,我用问题id分配了名称,用答案id分配了值-因此在服务器端-我将知道为哪个问题选择了哪个答案选项-不用说它们是从数据库自动生成的唯一id
foreach ($_POST as $key => $value)
echo "For question id ".htmlspecialchars($key)." answer selected is ".htmlspecialchars($value)."<br>";
foreach($\u发布为$key=>$value)
回显“针对问题id”.htmlspecialchars($key)。“所选答案为”.htmlspecialchars($value)。”
“;
如果分配号码是个坏主意-为什么。
我的另一个选择是分配一个名称值,如name=“questionId-102”,并在服务器端解析它
让我知道处理这件事的最好方法是什么。
谢谢如果您需要一系列或一系列数字,可以在名称前使用一个简单的字符串。不建议使用数字作为元素的名称。尝试使用以下代码
<?php
$question_ids = array_keys($this->question_array);
foreach($question_ids as $question_id)
{
$question = $this->question_array[$question_id];
$answers = $this->answer_array[$question_id];
?>
<div>
<strong>Q) <?php echo $question['question'];?></strong>
<div>
<?php foreach ($answers as $answer) { ?><br/>
<input type="radio" name="question_<?php echo $question_id;?>" value="<?php echo $answer['answer_id'];?>" /> <?php echo $answer['answer'];?>
<?php } ?>
</div>
</div>
<?php
} ?>
Q)
然后,您可以使用explode()函数获取问题id,以便进一步处理,方法是使用“\u1”作为分隔符,将数组的第二个元素作为问题id。更好的做法是将其放入问题数组中:
<?php foreach ($answers as $answer) { ?><br/>
<input type="radio" name="questions[<?=$question_id;?>]" value="<?=$answer['answer_id'];?>" /> <?=$answer['answer'];?>
以及:
foreach($\u POST['questions']作为$key=>$value)
回显“针对问题id”.htmlspecialchars($key)。“所选答案为”.htmlspecialchars($value)。”
“;
谢谢-更干净的选择
foreach ($_POST['questions'] as $key => $value)
echo "For question id ".htmlspecialchars($key)." answer selected is ".htmlspecialchars($value)."<br>";