使用复选框插入信息

时间:2012-12-22 11:55:54

标签: php html phpmyadmin

问题在于:

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

例如:

大卫选择了两个选择。以运动为例。大卫选择篮球和排球。 在我的数据库中,它看起来像这样:

| id |  firstname  |  lastname  |  sports      |
| 1  | David       |  White     |  Basketball  |
| 2  | David       |  White     | Volleyball   |

我的主要问题是如果我必须更改或删除信息,只会更改或删除一行,这是一个大问题。我无法让它像爆炸或内爆一样,因为我已经显示了有多少用户选择了某项运动的数量。

我如何解决这个问题?

1 个答案:

答案 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;