我正在开发一个允许用户复制表单输入组的表单(请参见此处:http://jsfiddle.net/Sd9Ag/5/)。
我想将数据插入一个包含两个表的数据库:“question”(包含列:“QID”、“text”)和“answer”(包含列:“AID”、“QID”、“text”)。
当我提交表单时,信息会这样发布(在本例中,表单有两个问题,都有三个答案):
问题:

Array ( [0] => question 1 [1] => question 2 )

回答:
Array ( [0] => q1 answer 1 [1] => q1 answer 2 [2] => q1 answer 3 [3] => q2 answer 1 [4] => q2 answer 2 [5] => q2 answer 3 )

我的问题是:当循环通过post变量将这些问题插入到数据库中时,保持这些问题与其答案链接的最佳方法是什么?
我应该为每个表单输入组的name编写不同的脚本吗?
有没有办法将这些输入“集合”中的每一个分组成一个数组?

最佳答案

我以前也做过类似的事情,使用了一个调度小部件,它允许您向一个调度添加天数,就像您有一个问题的答案一样。我处理它的方法是通过javascript添加额外的行,递增计数器来命名字段。
像这样的:

<input type="text" name="question[1]">
<input type="text" name="answer[1][1]">

现在,在javascript中保留一个计数器,用于显示问题的答案数,因此添加新答案时,只需增加该计数器。例如,如果从默认的1答案开始:
var count = 1
//creating new answer field logic
count++;
answer_name = 'answer[' + question + '][' + count + ']';

当然,这比那要复杂一点,但希望你能知道我要做什么。
然后在提交时,获取问题数组,然后查询答案数组以获取该问题的所有答案。问题1的答案将以数组形式出现在$answers[1]中。

关于php - 将PHP表单转换为mySql db。数组格式化问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4463573/

10-14 15:18
查看更多