将PHP表单中可变数量的变量保存到数据库中


Save variable amount of variables from PHP form into database

全部,我允许我的用户创建我需要保存答案的问题。他们可以创建任意数量的问题。我的难题是如何保存这些变量,同时检索并显示给用户。

当我将表单输出给用户时,我有以下PHP代码(我将问题存储在不同的表中,并将答案存储在不同表中):

$qryquestion = "Select * from feedback_questions order by question_display ASC";
$resultquestion = mysql_query($qryquestion);
$i=1;
while($resultsetquestion = mysql_fetch_array($resultquestion)){
if ($i%2==0){
    echo '<tr bgcolor="#FFFFFF" id="row'.$i.'">';
} else {
    echo '<tr id="row'.$i.'">';
}
echo '<td align="center"><b>'.$resultsetquestion['question_value'].'</b></td>';
echo '<td align="center"><div style="text-align:center;"><input type="radio" name="rating_value_'.$resultsetquestion['question_id'].'" id="rating_value_'.$resultsetquestion['question_id'].'" value="'.$resultsetratings['rating_id'].'"></td>';
}

我想把它们保存在数据库中,如下所示:

user_id question_id answer_id feedback_id1 1 5 11 2 5 11 3 12 1 2 2

提交表单时,如何从$_POST角度保存这些变量?

由于您使用的是PHP,处理任意数量问题的最简单方法是在POSTed后将您的输入转换为PHP数组,如此处所述。这里可以找到一个PHP实现的例子。一旦您在PHP数组中实际拥有了输入数据,就可以将它们添加到数据库中。您的数据库布局看起来足够合适,尽管您可能会将问题和答案包含在同一个表中,从而节省联接。