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 は一意である必要があると規定されています。

また、ユーザーが 1 つのオプションしか選択できない場合は、代わりにラジオ ボタンを使用することもできます。

于 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 に答える