Php 使用复选框插入信息

Php 使用复选框插入信息,php,html,phpmyadmin,Php,Html,Phpmyadmin,问题是: 用户将在必填字段中输入其信息。然后,用户将在复选框中选择一个选项(用户可以选择多个),该选项将保存在数据库中(复选框的值) 例如: 大卫选择了两个选项。比如体育。大卫选择篮球和排球。 在我的数据库中,它将如下所示: | id | firstname | lastname | sports | | 1 | David | White | Basketball | | 2 | David | White | Volle

问题是:

用户将在必填字段中输入其信息。然后,用户将在复选框中选择一个选项(用户可以选择多个),该选项将保存在数据库中(复选框的值)

例如:

大卫选择了两个选项。比如体育。大卫选择篮球和排球。 在我的数据库中,它将如下所示:

| id |  firstname  |  lastname  |  sports      |
| 1  | David       |  White     |  Basketball  |
| 2  | David       |  White     | Volleyball   |
我的主要问题是,如果我必须更改或删除信息,那么只会更改或删除一行,这是一个大问题。我不能让它像在爆炸或内爆,因为我已经显示了多少用户选择了某项运动的计数


我如何才能解决这个问题?

看起来您需要规范化您的表。您可以创建一个表来存储人员数据:

 person = (personid, firstname, lastname, other fields related to person)
以及一个用于存储选项的表:

 sport = (sportid, name, other data related to sport)
最后是管理关系的表:

 PersonSport = (personid, sportid)
在上述场景中,您的数据将是:

 Person
 personid    Firstname    Lastname
  1          David        White
  2          Sam          Black

要计算选择某项运动的用户数,请执行以下操作:

  Select count(*) from PersonSport where sportid = 1;

看起来您需要规范化您的表。您可以创建一个表来存储人员数据:

 person = (personid, firstname, lastname, other fields related to person)
以及一个用于存储选项的表:

 sport = (sportid, name, other data related to sport)
最后是管理关系的表:

 PersonSport = (personid, sportid)
在上述场景中,您的数据将是:

 Person
 personid    Firstname    Lastname
  1          David        White
  2          Sam          Black

要计算选择某项运动的用户数,请执行以下操作:

  Select count(*) from PersonSport where sportid = 1;

当我删除David的全部信息时,你能告诉我需要什么SQL语句吗?Personid没有增加,是吗?Person与运动有n:m关系,所以我会创建三个表:Person、Sports和一个转换表(例如PersonSports)。这是对的@Fabiopoli。假设有更多关于运动的数据要存储,那么我列出的名为sports的表应该是PersonSport,它将包含Sport和Person的主键。当我删除David的全部信息时,您能告诉我需要的SQL语句吗?Personid没有增加,是吗?Person与运动有n:m关系,所以我会创建三个表:Person、Sports和一个转换表(例如PersonSports)。这是对的@Fabiopoli。假设要存储更多关于运动的数据,那么我列出的名为sports的表应该是PersonSport,其中将包含Sport和Person的主键。下面是一个关于数据库规范化的非常好的指南:(更新:看起来英文页面不如德文页面……但它会给你一个方向)这里有一个很好的数据库规范化指南:(更新:看起来英文页面不如德语页面……但它会给你一个方向)