我正在使用PHP做这个。
我正在做一些基本的测验申请,它有一个后端。在我的后端,我正在设置一个测验供学生回答。我的一个界面是这样的。
如果用户选中了该框,则表示1950就是答案。我如何在我的数据库中处理那个,以确定1950年是问题的答案。
我的数据库是这样的。
tbl_choices
Id,Choice,isAnswer
理想情况下,它会像这样存储。
tbl_choices
ID CHOICE isAnswer
001 1900 0
002 1800 0
003 1950 1
004 1850 0
我的问题是,如果用户选中该复选框并且其旁边的textinput值为isAnswer
为1
,我将如何对其进行编码。
只是一个额外的信息:当用户点击+
按钮时,它会添加一个新的文本输入,如果用户点击-
按钮,它将删除一个文本输入,但我得到了全部覆盖。
这些选择是动态的,它会发生变化,我刚刚向你展示的只是一个例子。
P.S:对不起标题,我不知道这类问题的标题是什么: - )
您的帮助将受到高度赞赏和奖励!
答案 0 :(得分:3)
你可以尝试这样的HTML:
<input type="checkbox" value="1900" name="answer1[]">
<input type="text" value="1900" name="answer2[]" />
<input type="checkbox" value="1800" name="answer1[]">
<input type="text" value="1800" name="answer2[]" />
<input type="checkbox" value="1950" name="answer1[]">
<input type="text" value="1950" name="answer2[]" />
<input type="checkbox" value="1850" name="answer1[]">
<input type="text" value="1850" name="answer2[]" />
然后使用php代码:
foreach($_POST['answer2'] as $v){
if(in_array($v, $_POST['answer1'])) {
$s = 1;
}else
$s = 0;
$sql = "INSERT INTO table VALUES(null, $v, $s)";
}
同时点击复选框和文本字段的更新值
答案 1 :(得分:1)
一般情况下,您可以在提交信息时使用复选框作为数组,只需将复选框命名为数组,如
<input type="checkbox" value="1900" name="answer1[]">
<input type="checkbox" value="1800" name="answer1[]">
<input type="checkbox" value="1950" name="answer1[]">
<input type="checkbox" value="1850" name="answer1[]">
然后在服务器端,您将$_POST["answer1"]
作为一个数组处理并循环查看可能的答案,如下所示
if (is_array($_POST["answer1"]))
{
foreach($_POST["answer1"] as $answer)
{
// insert into database here
}
}
重要:这只会显示用户实际选择的内容,如果没有点击选项那么它就不会成为数组的一部分
答案 2 :(得分:0)
我认为拥有多个表是有意义的,一个用于选择问题,一个用于带有字段id,choice_id的答案。否则它会使问题产生更加困难,特别是当一些学生回答同样的问题时?
答案 3 :(得分:-2)
还有一件事,你可以在问题的答案中加上,根据+和 - 按钮添加行和删除行。
代码:
<script type="text/javascript">
$(document).ready(function() {
$("#plus").click(function() {
$('#mytable2 tbody>tr:last').clone(true).
insertAfter('#mytable2 tbody>tr:last');
$('#mytable2 tbody>tr:last #st').val('');
$('#mytable2 tbody>tr:last #newst').val('');
$('#mytable2 tbody>tr:last #plus').val('+');
return false;
});
});
有关详细信息,请参阅以下链接: Add Row on Button click