1

对不起我的英语不好 !我有一个有一个问题和 4 个答案的投票系统:

Answer_id   Question_id   answers     vote
   10           1           ball        1
   11           1           radio       3
   12           1           tv          5
   13           1           car         8

我有 4 个输入文本来输入用户使用投票投票的答案:

<input type="text" name="ans1" id="ans1"/>
<input type="text" name="ans2" id="ans2"/>
<input type="text" name="ans3" id="ans3"/>
<input type="text" name="ans4" id="ans4"/>

当我想更新答案时,我该如何查询?感谢您回答我的问题:D

4

2 回答 2

1

您应该在表单标签内拥有所有输入以及提交按钮。同样在表单标签内,有一个隐藏的输入,它将包含问题的 id 作为值。当您单击提交时,它将发布所有输入,包括隐藏输入。在处理页面(表单操作页面)中,获取隐藏输入的值(您将在查询的 where 子句中需要它)。然后按以下方式编写更新查询。

您肯定不想更新所有 4 个答案,而只更新一个答案,因为每个问题只有一个答案。假设您的表名是问题:

$ans1 = $_POST['ans1'];
$ans2 = $_POST['ans2'];
$ans3 = $_POST['ans3'];
$ans4 = $_POST['ans4'];

if(!empty($ans1))$answer = $ans1;
else if(!empty($ans2))$answer = $ans2;
else if(!empty($ans3))$answer = $ans3;
else if(!empty($ans4))$answer = $ans4;
$id = $_POST['id']; //This is coming from the hidden input box
$updateSQL = mysql_query("UPDATE questions SET answers = '$answer' WHERE Question_id= '$id');

如果您可以检查用户是否没有通过 javascript 输入所有 4 个答案,那也将是一件好事。您确定需要更新查询而不是插入查询吗?这也可以通过jquery(ajaxed方式)来完成,但你没有提到你想怎么做。

于 2012-10-25T05:33:11.423 回答
0

在输入文本字段的 id 中,用表的主键 (AnswerId)+sometext 重写它。当您保存或更新答案时,查询将如下所示:

update table set answers    =$$text where answerId =AnswerId(id of the input text)
于 2012-10-25T05:27:05.603 回答