0

我无法理解我正在处理的调查风格脚本背后的逻辑。

我已经写了第一部分,我从数据库中提取问题和答案,但我不知道如何在 while 循环中为每个问题创建多项选择,然后存储用户选择的值。我的大脑在试图弄清楚:(

我的代码的第一部分是直截了当的,我认为:

<?php
//retreive questions from database and put into question box

$query = "SELECT `Question`, `Answer` FROM `questions`";

$question = mysql_query($query);

while($row = mysql_fetch_assoc($question)){
?>
<div id="ContainerQuestion">
    <span style="Question">Question <?php echo $row['Question']; ?></span>
// Have A,B,C,D outputted as values in a checkbox and then the text after????
</div>
<?php
}

?> 

我真的很感激任何帮助。

4

2 回答 2

2

你是这个意思吗?

while($row = mysql_fetch_assoc($question)){
?>
<div name="ContainerQuestion">
    <span style="Question">Question <?php echo $row['Question']; ?></span><br />
    <input type="checkbox" name="question_<?= $row['Question_ID']; ?>[]" value="A" <?= $row['Answer'] == 'A' ? 'checked="checked"' : '' ?> /> A<br />
    <input type="checkbox" name="question_<?= $row['Question_ID']; ?>[]" value="B" <?= $row['Answer'] == 'B' ? 'checked="checked"' : '' ?>/> B<br />
    <input type="checkbox" name="question_<?= $row['Question_ID']; ?>[]" value="C" <?= $row['Answer'] == 'C' ? 'checked="checked"' : '' ?>/> C<br />
    <input type="checkbox" name="question_<?= $row['Question_ID']; ?>[]" value="D" <?= $row['Answer'] == 'D' ? 'checked="checked"' : '' ?>/> D<br />
// Have A,B,C,D outputted as values in a checkbox and then the text after????
</div>
<?php
}

注意:您不应该<div>在循环中提供静态(读取:非唯一)ID - HTML 规则规定 ID 必须是唯一的。

此外,如果用户可能只选择一个选项,您可能希望使用单选按钮。

于 2012-08-20T14:02:35.113 回答
0
$opts = array(
  'a' => 'foo',
  'b' => 'bar',
  'c' => 'baz',
  'd' => 'all of the above'
);

foreach($opts as $key => $val) {
    echo <<<EOL
<input type="checkbox" name="something" value="{$key}" /> {$val}<br />

EOL:
}
于 2012-08-20T14:03:59.950 回答