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的主键。下面是一个关于数据库规范化的非常好的指南:(更新:看起来英文页面不如德文页面……但它会给你一个方向)这里有一个很好的数据库规范化指南:(更新:看起来英文页面不如德语页面……但它会给你一个方向)