Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果选中复选框,如何存储数据_Php - Fatal编程技术网

Php 如果选中复选框,如何存储数据

Php 如果选中复选框,如何存储数据,php,Php,我正在用PHP做这个 我正在做一些基本的测验应用程序,它有一个后端。在我的后端,我正在为学生们设置一个测验。我的一个界面是这样的 tbl_choices Id,Choice,isAnswer tbl_choices ID CHOICE isAnswer 001 1900 0 002 1800 0 003 1950 1 004 1850

我正在用PHP做这个

我正在做一些基本的测验应用程序,它有一个后端。在我的后端,我正在为学生们设置一个测验。我的一个界面是这样的

tbl_choices
Id,Choice,isAnswer
tbl_choices
ID         CHOICE      isAnswer
001         1900          0
002         1800          0
003         1950          1
004         1850          0

如果用户选中该框,则表示答案为1950。我将如何处理数据库中的数据,以确定1950年是问题的答案

我的数据库是这样的

tbl_choices
Id,Choice,isAnswer
tbl_choices
ID         CHOICE      isAnswer
001         1900          0
002         1800          0
003         1950          1
004         1850          0
所以理想情况下,它会像这样存储

tbl_choices
Id,Choice,isAnswer
tbl_choices
ID         CHOICE      isAnswer
001         1900          0
002         1800          0
003         1950          1
004         1850          0
我这里的问题是,当用户选中复选框,并且它旁边的文本输入的值为
isAnswer
1
时,从某种意义上讲,我将如何对其进行编码

只是一个附加信息:当用户单击
+
按钮时,它将添加一个新的文本输入,如果用户单击
-
按钮,它将删除一个文本输入,但我已经涵盖了所有内容

选择是动态的,它会改变,上面我给你们展示的只是一个例子

对不起,我不知道这类问题的题目是什么:-)


您的帮助将得到极大的感谢和回报

我认为有一个以上的表格是有意义的,一个表格用于包含选项的问题,另一个表格用于包含字段id的答案,选择id。否则,生成问题会变得更加困难,尤其是当许多学生回答同一个问题时?

通常,在提交信息时,您可以使用复选框作为数组,只需将复选框命名为数组,如

<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[]">

重要提示:这将仅显示用户实际选择的内容,如果未单击某个选项,则该选项将不属于数组的一部分。

还有一件事,您可以根据+和-按钮在问题的答案中添加、添加行和删除行

代码如下:

<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;
        });
     });

$(文档).ready(函数(){
$(“#plus”)。单击(函数(){
$('#mytable2 tbody>tr:last').clone(true)。
插入符(“#mytable2 tbody>tr:last”);
$('mytable2tbody>tr:last#st').val('');
$('#mytable2tbody>tr:last#newst').val('');
$('#mytable2tbody>tr:last#plus').val('+');
返回false;
});
});
有关更多详细信息,请参阅以下链接:

您可以像这样尝试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[]" />

此外,单击并同时更新复选框和文本字段的值

一个问题可以有许多答案:-)我强烈建议在复选框中添加提交按钮。如果不只是通过ajax提交,输入文本字段中的值是可变的吗?还是设置好了?@Eyallalsheich是的,它是可变的。它将根据用户设置的内容进行更改。我已经知道如何存储复选框值并在服务器端对其进行操作,真正的问题是我如何知道复选框右侧的文本输入是什么?您可以使用javascript更改复选框的值,以反映对输入字段值的任何更改,这只是一种方法,问题不在于数据库设计:-)这个游戏给我一个想法。所以谢谢你!:)