gpt4 book ai didi

mysql - 如何用价格构建一个 "services"BD

转载 作者:搜寻专家 更新时间:2023-10-30 23:44:44 25 4
gpt4 key购买 nike

我目前正在使用 PHP 和 MYSQL 为我所有的沙龙服务构建一个接口(interface),一切都很好,直到我不得不添加我的打蜡服务:

在谈论打蜡时,您可以拥有这些组之间的所有组合:

Lips      
Chin
Face
Underarms
Arms
Eyebrows
None of the above

也是其中之一:

Half Leg      
Full Leg
No Legs

其中之一:

Small Bikini      
Big Bikini
Brasilian
No Bikini

所以,我一直在考虑在二进制上做第一部分,直到我发现仅在第一部分我就有 128 种组合,再加上下一组(腿)的 3 种不同变体和比基尼区域下的 4 种。 .. 这使得总共有 2048 种可能的组合??所以这意味着我将不得不用 2048 种不同的描述、价格和服务代码(最重要的列)填充数据库

所以这是当我知道我在这里做错了(关于方法)并且我需要你的帮助以了解从 BD 的角度来看这是如何完成的。毕竟,我只需要一个服务代码,以便我将来能够将每项服务与其他服务区分开来。

如果这是真正的方法,您如何或使用什么来生成 2000 多行数据?

谢谢

最佳答案

如果您不使用软件,您会怎么做?如果一个客户来问,比如说,眉毛、 ARM 和完整的腿......

你会说眉毛是 3 美元, ARM 是 6 美元,而完整的腿是 10 美元吗?

如果是这样,您可以为自己提供的每项特定服务创建一个数据库行,并允许您的客户选择任意产品组合。

这涉及到您的客户端和您的服务表之间的多对多关系。在像 MySQL 这样的 RDMS 中,您需要一个 client 表、一个 service 表和一个 client_service 表。其中第三个包含一对数字,client_idservice_id,也许还有一个日期。例如,如果您想知道某个客户昨天有哪些服务,您可以使用这样的查询

 select cs.service_time, c.name, s.service
from client c
join client_service cs ON c. client_id = cs.client_id
join service ON cs.service_id = s.service_id
AND DATE(cs.service_time) = CURDATE() - INTERVAL 1 DAY
where c.name = 'Jane'

client_service 表的要点是允许您将多个客户端与每个服务相关联,以及多个服务与每个客户端相关联。与您提到的组合相比,这是一个更好的软件设计选择,它们很快就会超过您客户的头发数量。

此类表格的用户界面将显示您提供的服务列表(服务表格中的行),每一项旁边都有一个复选框。

当您等待每个客户时,您将检查您提供的服务。然后您的软件将在您的 client_service 表中为列表中的每个检查创建一行。

如果您的服务表包含每项服务的价格,您可以按如下方式检索这些价格。

 select DATE(cs.service_time), c.name, s.service, SUM(s.price) AS price
from client c
join client_service cs ON c. client_id = cs.client_id
join service ON cs.service_id = s.service_id
AND DATE(cs.service_time) = CURDATE() - INTERVAL 1 DAY
where c.name = 'Jane'
group by c.name, DATE(cs.service_time), s.service WITH ROLLUP

关于mysql - 如何用价格构建一个 "services"BD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30301820/

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