0

我需要一些关于如何正确编码包含 10 个问题的动态网页的指导,每个问题都有自己的提交按钮。这是一个快速的背景和我正在做的事情。

我正在创建一个问题/答案页面,用户在其中回答问题并点击提交。每个问题都有一个点值,如果回答正确,该点值将添加到用户的银行中。

通过包含三个字段的数据库表在页面上填充问题 - QuestionNumber、Question、Points。每个问题都有一个分配给它的 QuestionNumber,因此我可以轻松快速地识别问题和答案。这显示得很好(这是代码):

<? 
$rt = mysql_query("SELECT * FROM Questions WHERE Status='Open' ORDER BY 'Number' LIMIT 10");
while ($row = mysql_fetch_array($rt)) {
$number=$row[0]; 
$category = $row[1];
$question=$row[2];
$points=$row[4];

?>
<form action="processor.php" method="post" class="qForm">
<div class="questionCell">
<div class="question"><? echo $question; ?></div>
<div class="answer">Answer: <input class="inputField" name="a0001" type="text"  size="40" maxlength="40" />
<input name="HHQuestion" value="Question: <? echo $number;  ?>" type="submit" /></div>
</div>
</form>
<? 
} 
?>

此表单在页面上重复 10 次,每个都有自己的问题和 QuestionNumber。此外,每个提交按钮都有基于 questionNumber 分配的值。我这样做是为了让用户(年幼的孩子)知道他们将要回答哪个问题。这一切都很好地显示在页面上。

我遇到的问题是尚未创建的 POST 文件“processor.php”。我设想它的工作方式是,当有人提交他们的答案时,processor.php 文件将捕获 quesiotnNumber(分配给按钮)并从文本字段中回答,然后再次验证数据库表。

我知道在使用多个按钮时我应该使用 SWITCH / CASE(而不是 IF ELSE),我很好。但是如何将表单上的 QuestionNumber 捕获到 processor.php 文件中?

我对这个项目的最终目标是在数据库中填充问题表,并让网页动态工作。

提前感谢您的任何帮助和指导。

R

4

1 回答 1

1

我对您的措辞有点困惑,但是我是否正确理解认为您希望将每个问题的答案提交到数据库,尽管您将它们都运行在同一页面上?

如果是这样,我建议使用 AJAX 库将数据发回并获得快速响应。那里有很多,但 jQuery 使用起来非常简单(以及许多其他功能)。下面是一些伪代码:

function submitAnswer(questionid)
{
    answer = document.getElementById("a000"+questionid);
    $.get("processor.php", {"answer": answer, "question": questionid}, function (data) {
        if (data.response == "200") {
            document.getElementById("response-"+questionid).innerHTML = "Thanks for answering";
        }
    });
}

然后你可以用类似的东西来调用它:

<input type = "submit" onclick = "submitAnswer('<?=$number?>'); void(0); return false;">

请注意,这都是假的!你的旅费可能会改变!如果您有任何问题,请大声喊出来。

于 2012-10-12T04:23:09.323 回答