2012-07-13 83 views
0

全部, 我允许我的用户创建需要保存答案的问题。他们可以创建尽可能少的或尽可能多的问题。我的困境是如何保存这些变量,并检索并显示给用户。将可变数量的变量从PHP表单保存到数据库中

当我输出形式我有以下PHP代码(I具有存储在不同的表以及可应用于在不同的表中的答案的问题)的用户:

$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_id 
1   1    5   1 
1   2    5   1 
1   3    1   1 
2   1    2   2 

我怎么会保存所有来自$ _ POST角度来看,这些变量当表单被提交?

+2

请不要使用新代码'mysql_ *'功能。他们不再被维护,社区已经开始[弃用流程](http://goo.gl/KJveJ)。请参阅[**红框**](http://goo.gl/GPmFd)?相反,您应该了解[准备好的语句](http://goo.gl/vn8zQ)并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定,[本文](http://goo.gl/3gqF9)将有助于选择。如果你关心学习,[这里是很好的PDO教程](http://goo.gl/vFWnC)。 – 2012-07-13 20:50:14

+0

@Truth感谢您的提示。实际上并没有意识到这一点。 – user1048676 2012-07-13 21:04:43

+0

你总是可以存储在隐藏输入字段,并做一些验证为属于哪里。 – Gntem 2012-07-13 21:07:01

回答

0

由于您使用PHP,最简单的方法来处理问题的任意数字将是你的输入转换成PHP数组一经公布,按规定here。有关PHP实现的示例可以参见here。一旦你真的有一个PHP数组的输入数据,你可以将它们添加到数据库。你的数据库布局看起来贴切不过了,虽然你很可能逃脱实际上包括在同一个表中的问题和答案,以节省连接。

相关问题