Php 一列中有多个变量?
当某人进行复选框搜索时,是否可能在一列中包含多个变量?假设复选框如下所示: 伴舞音乐: 1.老歌 2.雷鬼音乐 3.流行音乐 4.房子 假设有一个名为“事件”的表格,其中一列是“音乐”。 如果有人选中复选框1、3或4,它将返回此行,那么该列是否会以某种方式包含1、3、4Php 一列中有多个变量?,php,mysql,Php,Mysql,当某人进行复选框搜索时,是否可能在一列中包含多个变量?假设复选框如下所示: 伴舞音乐: 1.老歌 2.雷鬼音乐 3.流行音乐 4.房子 假设有一个名为“事件”的表格,其中一列是“音乐”。 如果有人选中复选框1、3或4,它将返回此行,那么该列是否会以某种方式包含1、3、4 谢谢:)您需要查看多:多数据库结构。做一些研究,摆一些桌子,然后试一试。它是数据库的基本形式之一。您需要研究多:多数据库结构。做一些研究,摆一些桌子,然后试一试。它是数据库的基本形式之一。将音乐类型放入一个单独的表中,并创建一列
谢谢:)您需要查看多:多数据库结构。做一些研究,摆一些桌子,然后试一试。它是数据库的基本形式之一。您需要研究多:多数据库结构。做一些研究,摆一些桌子,然后试一试。它是数据库的基本形式之一。将音乐类型放入一个单独的表中,并创建一列和一个外键,将事件指向音乐类型表。然后将音乐表的主键存储到事件表中。将音乐类型放入单独的表中,并创建一列和一个外键,将事件指向音乐类型表。然后将音乐表的主键存储到事件表中。我想你在寻找MySQL列类型我想你在寻找MySQL列类型如果我理解正确,不,在同一个字段中不能有多个值(至少在正常情况下) 您可以在一个单独的表中执行此操作,让我们将其称为类似于[events_-Tyres]的内容,并且它在[events]表主键上有一个外键,在[Tyres]表主键上有另一个外键 例如:
[events_genres]
events_id genre_id
1 1
1 2
1 3
2 3
events\u id
是表[events]中事件的id,genre\u id
是[genres]表中流派(老歌、雷鬼音乐、php…)的id。如果我理解正确,不,在同一个字段中不能有多个值(至少以正常的方式)
您可以在一个单独的表中执行此操作,让我们将其称为类似于[events_-Tyres]的内容,并且它在[events]表主键上有一个外键,在[Tyres]表主键上有另一个外键
例如:
[events_genres]
events_id genre_id
1 1
1 2
1 3
2 3
events\u id
是表[events]中事件的id,genre\u id
是[genres]表中流派(老歌、雷鬼、php…)的id。您描述的是一种多对多关系。这意味着可以有许多活动,每个活动都可以包含多种风格的音乐。另一方面,一种音乐风格可以在许多活动中表现出来
通常,您可以使用一个助手表和两个不同的“事件”和“音乐”表来表示这种关系:假设“事件”和“音乐”都有主键id,但“音乐”或“事件”中都没有相互引用的列。相反,要在它们之间建立链接,可以创建第三个表“Event\u Music”,其中包含“Event\u id”和“Music\u id”列。考虑这个例子:
Table Event
id | name
1 | Event A
2 | Event B
3 | Event C
Table Music
id | style
1 | oldies
2 | reggae
3 | pop
4 | house
Table Event_Music
event_id | music_id
1 | 1
1 | 3
3 | 4
这告诉你,将有一场老歌和流行音乐的活动A,还有一场只有家庭音乐的活动C。你所描述的是一种多对多的关系。这意味着可以有许多活动,每个活动都可以包含多种风格的音乐。另一方面,一种音乐风格可以在许多活动中表现出来 通常,您可以使用一个助手表和两个不同的“事件”和“音乐”表来表示这种关系:假设“事件”和“音乐”都有主键id,但“音乐”或“事件”中都没有相互引用的列。相反,要在它们之间建立链接,可以创建第三个表“Event\u Music”,其中包含“Event\u id”和“Music\u id”列。考虑这个例子:
Table Event
id | name
1 | Event A
2 | Event B
3 | Event C
Table Music
id | style
1 | oldies
2 | reggae
3 | pop
4 | house
Table Event_Music
event_id | music_id
1 | 1
1 | 3
3 | 4
这告诉你,将有一个关于老歌和流行音乐的活动A,还有一个只有家庭音乐的活动C。这可能会起作用,但这不是一个好主意:你应该规范化这些数据。制作一个额外的表musicForEvent,它有一个EventID和一个Music列,如果一个事件有三个Music,现在添加三行。规范化不是解决方案。您想要的是比关系模型更具表现力的东西,所以我建议您使用NoSQL。@Frits破坏NoSQL,noice!这可能有效,但不是一个好主意:您应该规范化这些数据。制作一个额外的表musicForEvent,它有一个EventID和一个Music列,如果一个事件有三个Music,现在添加三行。规范化不是解决方案。您想要的是比关系模型更具表现力的东西,所以我建议您使用NoSQL。@Frits破坏NoSQL,noice!从技术上讲,在此设置中应该有一个桥接/连接表(例如
事件到类型
)。genres
表应该只包含基本类型记录。@Jason McCreary是的,我想你在我编辑帖子时咳嗽了我:)我想现在更清楚了。这个解决方案不是为每个事件返回多于一行吗?@pufAmuf是的,因为一个事件可以没有,连接到它的一个或多个类型。从技术上讲,在此设置中应该有一个桥接/连接表(例如事件\u到\u类型
)。genres
表应该只包含基本类型记录。@Jason McCreary是的,我想你在我编辑帖子时咳嗽了我:)我想现在更清楚了。这个解决方案不是为每个事件返回多于一行吗?@pufAmuf是的,因为一个事件可以没有,附加一个或多个类型。如果您不希望遵循传统的多对多关系数据库方法,可以选择+1。这听起来确实是最好的选择,因为我不希望为同一事件返回多行。如果您不希望遵循传统的多对多关系数据库方法,可以选择+1,关系数据库的多对多方法。这听起来确实是最好的选择,因为我不希望为同一事件返回多行。很好,这很容易理解,但是当我返回表时,eac会有多行吗