html 复选框 mysql_php – 如何将表单中复选框的值保存到单个MySQL字段中?

我有一个表格,我有很多音乐流派.艺术家可以在很多类型下演唱.我把这些类型放在复选框中.现在我需要将复选框的值存储到单个字段中.

有些人可以帮我解决一些代码片段,因为我是php编程新手吗?

解决方法:

一般来说,你不应该这样做.您的数据库不会是normalized,这将使在类型字段上构建查询变得困难.

如果你有一个名为artist的表和一个名为genres的表,那将是一个更好的主意.然后,您将在另一个表artists_genres中定义艺术家和流派之间的关系,该表将只包含artist_id和genre_id.你仍然可以为同一位艺术家提供多种类型.

例如,考虑下面定义的表结构:

TABLE artists

-------------

artist_id name surname

1 Alicia Keys

2 Mariah Carey

...

TABLE genres

------------

genre_id name

1 R&B

2 pop

3 hip hop

4 dance

...

TABLE artists_genres

--------------------

artist_id genre_id

1 1

1 2

1 3

2 1

2 2

2 4

...

在这种情况下,您将能够构建简单的查询,例如:

SELECT

artists.name, artists.surname

FROM

artists

INNER JOIN

artists_genres ON (artists_genres.artist_id = artists.artist_id)

INNER JOIN

genres ON (genres.genre_id = artists_genres.genre_id)

WHERE

genre.name = 'pop';

如果您的艺术家的类型存储在艺术家表中的单个字段中,则上述将很难实现.除了困难之外,它可能会缓慢而低效,特别是如果你有很多记录.

标签:html,php,sql,mysql

来源: https://codeday.me/bug/20190726/1546942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值