抱歉我的英文! 我有一个有一个问题和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
答案 0 :(得分: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方式)完成,但你没有提到你想怎么做。
答案 1 :(得分:0)
在输入文本字段的id中,使用表的主键(AnswerId)+ sometext重写它 保存或更新答案时,查询将如下:
update table set answers =$$text where answerId =AnswerId(id of the input text)