我无法理解我正在研究的调查风格脚本背后的逻辑。
我已经编写了第一部分,我从数据库中提取问题和答案,但我无法弄清楚如何在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
}
?>
我真的很感激任何帮助。
答案 0 :(得分: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必须是唯一的。
此外,如果用户只能选择一个选项,则可能需要使用单选按钮。
答案 1 :(得分: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:
}