2013-11-21 37 views
0

我有一个包含文本字段的页面,用户可以在其中输入数据(在我们的情况下,它们是问题)。PHP:将动态数值的数值添加到MySQL数据库中

它看起来是这个样子:

___________________________________ 
| Enter your question...   | + 
|___________________________________| 

如果用户点击 '+',那么另一场出现:

___________________________________ 
| User's first Question..   | 
|___________________________________| 
___________________________________ 
| Enter your next question...  | + 
|___________________________________| 

...等等。这些问题中的每一个都需要存储在数据库中,但是问题的数量是动态的(假设我们将最大数量限制为100个问题),实现这一目标的最佳方法是什么? 我应该为每个问题创建一个新列吗?这不会真的污染数据库吗?理想情况下,我的数据库中只有一列叫做“问题”,并将所有问题存储在该列中。这甚至有可能吗?

事情是这样的:

++++++++++++++++++++++++++++++++++++++++++++++ 
+ id | Questions       + 
++++++++++++++++++++++++++++++++++++++++++++++ 
+ 1 | My Question 1,MyQuestion,   + 
+ 2 | Another Question, And Another one, + 
+ . | ......        + 
++++++++++++++++++++++++++++++++++++++++++++++ 

*编辑* 要清楚 - 我需要能够以后检索每个这些问题,并能够以每一个单独隔离(例如作为一个PHP数组)。

* EDIT2 * 此外,因为一组问题是每个每个用户的问题捆需要保持在一排。即我无法在自己的行中添加问题。在上面的示例中,ID1是个人用户,My Question 1MyQuestion是该用户的问题。

+2

yes.Keep只是一个数据库列,插入新的问题,如新行 –

+0

写给一个编辑澄清 - 对不起 – user1775598

+0

ü可以添加USER_ID用户的具体问题 –

回答

0

您可以尝试的选项是通过创建另一个表来分割它。所以要为用户清楚一张表格,另一张表格是为了问题。

在表格用户你可以有一个user_id和可能的用户名,在表问题你可以有一个unique_id,问题,然后一个外键约束引用问题的用户。

这样你可以单独或全部访问它们。

1

最简单的一个,我相信,就是使你的数据库表是这样的:

++++++++++++++++++++++++++++++++++++++++++++++ 
+ id | user_id | question     + 
++++++++++++++++++++++++++++++++++++++++++++++ 

所以不要紧,用户将有多少的问题都有。

0

在这种情况下,您可以使用基于文档的NOSQL解决方案(如MongoDB),或者创建一个id为id,user_id和question的表。

+0

我认为引入另一种技术到系统中用于此目的将是一个严重的错误。 ;) –

+0

@sam yi,没有,因为这些问题和答案不仅仅是由谁发布的问题来看。来自Stackoverflow的问题可能会被许多IT学生所反驳。所以我们有责任在我们回答时添加一些额外的但相关的信息。是吗? –

+0

即使是这样。 NoSQL的确适用于关系数据库不足的情况。我知道很多开发人员都像孩子一样,他们希望掌握一些新的和酷的东西,但在一个仍然严重依赖AS/400系统的企业环境中,这些“酷”玩具来来往往。不说NOSQL是无用的......只是说有太多的炒作。 –

相关问题