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

Php MySQL&;jQuery:在数据库中存储动态生成的内容,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我有一个动态表单,它创建一些将生成值的输入,并应保存到数据库中。每组值应分别保存在数据库中称为“教育”的单个字段中: 应按如下方式存储: +--------+---------+----------+--------+--------+--------+--------+-----+ | id | name | 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组

请查看JSFIDLE以了解其实际工作原理:

  • 当编辑单个值集并仅更新给定值集将其保存到数据库中时,如何将其存储到数据库中

  • 还有,这是最好的方法吗


    • 这不是解决此问题的最佳方法。你最好做两张桌子

      表格用户:

      +--------+---------+
      |   id   |  name   |
      +--------+---------+
      
      表教育:

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

      作为education.user,保存用户表中的外键users.id。一方面,输入表单的实现更加复杂,但您对每个用户的入口没有限制,也没有太多的数据库开销。

      这不是解决此问题的最佳方法。你最好做两张桌子

      表格用户:

      +--------+---------+
      |   id   |  name   |
      +--------+---------+
      
      表教育:

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

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

      在设计数据库时有一种称为规范化的做法,它将引导您找到最佳方法。根据您的问题和JSFIDLE,您将得到两个独立的数据库表

      例如:
      tbl\u用户
      :将包含以下字段

      userID
      userName
      
      然后您将有另一个表Ex:
      tbl_Education
      ,其中包含一些字段,例如

      record_id
      userID
      schoolName
      
      在此表中,您可以在
      userID
      字段中设置特定的用户id,该字段必须与
      tbl_用户的
      userID
      字段相匹配,然后在
      schoolName
      字段中设置他们就读的单个学校。如果他们在多所学校就读,他们将在
      tbl_教育
      表中有多个条目,但在
      tbl_用户
      表中只有一个条目。如果需要检索数据,可以对两个表执行SQL查询,并对
      User\u id
      字段执行
      join
      。这将导致返回多个记录,但包含所需的所有数据

      任何特定于他们教育的特定部分的信息都将进入
      tbl_教育
      表,任何特定于用户的信息(头发颜色、眼睛颜色、身高等)都将进入
      tbl_用户

      Ex SQL查询:

      SELECT tbl_Users.userID, tbl_Users.userName, tbl_Education.schoolName
      FROM tbl_Users, tbl_Education
      WHERE tbl_Users.userID = tbl_Education.userID;
      
      WHERE子句本质上是两个表之间的连接。有很多方法可以编写这个查询,我使用的方法在视觉上似乎是最容易看到发生了什么

      这里是维基百科的链接,用于规范化,让您开始学习。

      在设计数据库时有一种称为规范化的做法,它将引导您找到最佳方法。根据您的问题和JSFIDLE,您将得到两个独立的数据库表

      例如:
      tbl\u用户
      :将包含以下字段

      userID
      userName
      
      然后您将有另一个表Ex:
      tbl_Education
      ,其中包含一些字段,例如

      record_id
      userID
      schoolName
      
      在此表中,您可以在
      userID
      字段中设置特定的用户id,该字段必须与
      tbl_用户的
      userID
      字段相匹配,然后在
      schoolName
      字段中设置他们就读的单个学校。如果他们在多所学校就读,他们将在
      tbl_教育
      表中有多个条目,但在
      tbl_用户
      表中只有一个条目。如果需要检索数据,可以对两个表执行SQL查询,并对
      User\u id
      字段执行
      join
      。这将导致返回多个记录,但包含所需的所有数据

      任何特定于他们教育的特定部分的信息都将进入
      tbl_教育
      表,任何特定于用户的信息(头发颜色、眼睛颜色、身高等)都将进入
      tbl_用户

      Ex SQL查询:

      SELECT tbl_Users.userID, tbl_Users.userName, tbl_Education.schoolName
      FROM tbl_Users, tbl_Education
      WHERE tbl_Users.userID = tbl_Education.userID;
      
      WHERE子句本质上是两个表之间的连接。有很多方法可以编写这个查询,我使用的方法在视觉上似乎是最容易看到发生了什么

      这里是维基百科的链接,用于规范化,让您开始学习。

      解决方案有两个甚至三个非常不同的部分。首先,需要使用PHP将数据存储在数据库中。Javascript/JQuery无法直接写入数据库。然后,您应该将表单数据发布到PHP。您可以在不使用Javascript的情况下首先实现这一点。如果这样做有效,您可以使表单“Ajax增强”,以便在后台发布数据,并使用结果更新页面。总的来说,这个问题既广泛又重复。这已经被讨论过无数次了。这是一个多方面的问题。您需要一些服务器端语言来配合此操作,并知道如何使用该语言访问数据库。@GolezTrol感谢您的回答,但您为什么说它可能是重复的?它甚至不是同一个问题,也不是同一个代码,等等。如果你仔细观察,你会发现这不是重复的。关于你的表设计,最重要的是它不是第一范式(1NF)。在1NF中,数据库中的每个单元格都包含1个值,并且只有1个值。它们是“原子的”。这就是为什么下面每个人都建议你把它分开。看看这里:解决方案有两个甚至三个非常不同的部分。首先,需要使用PHP将数据存储在数据库中。Javascript/JQuery无法直接写入数据库。然后,您应该将表单数据发布到PHP。您可以在不使用Javascript的情况下首先实现这一点。如果