问题在于:
用户将在必填字段中输入他的信息。然后,用户将在复选框中选择一个选项(用户可以选择多个),这些选项将保存在数据库中(复选框的值)。
例如:
大卫选择了两个选择。以运动为例。大卫选择篮球和排球。 在我的数据库中,它看起来像这样:
| id | firstname | lastname | sports |
| 1 | David | White | Basketball |
| 2 | David | White | Volleyball |
我的主要问题是如果我必须更改或删除信息,只会更改或删除一行,这是一个大问题。我无法让它像爆炸或内爆一样,因为我已经显示了有多少用户选择了某项运动的数量。
我如何解决这个问题?
答案 0 :(得分: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
和
Sport
sportid name
1 Basketball
2 Football
3 Tiddlywinks
和
PersonSport
Personid Sportid
1 1
1 2
2 3
2 1
计算选择运动的用户数量:
Select count(*) from PersonSport where sportid = 1;