MySQL& jQuery:将动态生成的内容存储在数据库中

时间:2014-05-04 20:51:15

标签: php jquery mysql ajax

我有一个动态表单,可以创建一些生成值的输入,并应保存到数据库中。每组值应单独保存在数据库中名为“Education”的单个字段中:

应该像这样存储:

+--------+---------+----------+--------+--------+--------+--------+-----+
|   id   |  name   |  Education                                         |
+--------+---------+----------+--------+--------+--------+--------+-----+
|  100   |  John   |  [Harvard, Marketing,2009,2014] [MIT,CS,2005,2009] |
+--------+---------+----------+--------+--------+--------+--------+-----+
|  101   | Daniel  |  [TEC, Marketing,2009,2014] [Standford,CS,2001,2005]|
+--------+---------+----------+--------+--------+--------+--------+-----+

教育领域最多可以有10套价值,我只是显示2套。

请查看JSFIDDLE,看看它是如何运作的: http://jsfiddle.net/YueX2/6/

  • 如何在编辑单组值时将其存储到数据库中并将其保存到数据库中,只更新给定的值集?

  • 此外,这是最好的方法吗?

2 个答案:

答案 0 :(得分:2)

这不是解决此问题的最佳方法。你最好制作2张桌子。

表用户:

+--------+---------+
|   id   |  name   |
+--------+---------+

表教育:

+--------+----------+------------+-------+-----+------+
|   id   | location | discipline | start | end | user |
+--------+----------+------------+-------+-----+------+

作为education.user,您可以从用户表中保存外键users.id。输入表单的实现一方面更复杂,但是你没有每个用户的委托限制,也没有数据库中过多的开销。

答案 1 :(得分:2)

在设计称为规范化的数据库时,有一种做法可以引导您找到最佳方法。根据您的问题和jsFiddle,您最终会得到2个单独的数据库表。

Ex:tbl_Users:包含

等字段
userID
userName

然后你会得到另一个表格Ex:tbl_Education,其中包含一些字段,例如

record_id
userID
schoolName

在此表中,您可以在userID字段中设置特定用户ID,该字段必须与userID中的tbl_Users字段匹配,然后才能与他们参加的单个学校相匹配schoolName字段。如果他们上过多所学校,他们会在tbl_Education表中有多个条目,但tbl_Users表中只有一个条目。如果需要检索数据,则需要在join字段的两个表和User_id上执行SQL查询。这将导致返回多个记录,但需要所有数据。

任何特定于他们教育的特定部分的信息都会放在tbl_Education表格中,任何特定于用户的内容(头发颜色,眼睛颜色,身高等)都会出现在{{1}中} table。

Ex SQL查询:

tbl_Users

WHERE子句本质上是两个表之间的连接。有很多方法可以编写这个查询,我使用的方法在视觉上最容易看到发生了什么。

以下是规范化的维基百科链接,以帮助您入门。 http://en.wikipedia.org/wiki/Database_normalization