gpt4 book ai didi

php - 复选框细化使用逗号分隔字段存储的 mysql 表的搜索

转载 作者:行者123 更新时间:2023-11-30 01:22:09 25 4
gpt4 key购买 nike

我正在根据选中的复选框值和存储在 Mysql 数据库表中的匹配值对 mysql 查询实现细化搜索。复选框字段如下:

<input type="checkbox" value="1" name="services_search[]" id="services_search[]" /> Service ABC

<input type="checkbox" value="2" name="services_search[]" id="services_search[]" /> Service XYZ

<input type="checkbox" value="3" name="services_search[]" id="services_search[]" /> Service 123

我有一个 mysql 表“users”,其中包含字段 id、名称和服务。字段“服务”存储了一个或多个服务值,如下所示:

|  id  |  name   |  services 
| 1 | Mark | 1, 2, 3
| 2 | Jhon | 2, 3
| 3 | Tina | 1

现在我的问题是如何实现mysql查询以根据多个检查的服务获得精确的结果。

最佳答案

因为一个用户可以拥有多项服务并且一项服务可以属于多个用户,所以更好的做法是多对多-许多关系表。

您的示例的结构如下:

用户表

id | name
---+-----
1 | Mark
2 | John
3 | Tina

服务表

id | service
---+--------
1 | Normal
2 | Premium
3 | Admin

向用户提供的表格

user_id | service_id
--------+-----------
1 | 1
1 | 2
1 | 3
2 | 1
2 | 2
3 | 1

其中 user_id 和 service_id 具有主表中相应字段的外键。现在它易于维护,不需要字符串操作,并且易于查询。

关于php - 复选框细化使用逗号分隔字段存储的 mysql 表的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18417421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com