【问题标题】:How to pass or display mySQL data based on subscription or billing如何根据订阅或计费传递或显示 mySQL 数据
【发布时间】:2026-02-12 23:50:02
【问题描述】:

我想建立一个基于 PHP 的网站,用户可以在其中根据他们支付的数据类型查看数据。

请允许我举个简单的例子。

假设篮球的历史数据不易获得,但可以购买。 获胜者、失败者、最终得分和日期等简单信息都存储在 mySQL 表中。

会涉及什么,这样当用户登录时,他们只能看到他们已经支付的历史数据。

到目前为止我关于架构的理论:

我想象一个 mySQL 表存储他们支付的所有历史游戏数据的 True 或 False 值。基于此,“数据图表”对象使用户能够查看其 mySQL 行中值为“真”的所有数据。

跟进:

假设我是对的,对于此类服务,哪些方法流行或实用。

【问题讨论】:

  • 这听起来像是功课......如果有不同类型的数据可用呢?例如,按团队,还是按赛季?我认为您想要的结构必须从存储 whowhat 付费的 PaidEntity 表开始。没有?
  • 大声笑根本不是家庭作业。我只是个菜鸟。(感谢您的回复!)是的,假设我有一张表,上面写着谁为什么支付了费用……我能否根据该表中的内容传递数据?我想我真正想问的是:假设一个表记录了用户 acf 为游戏 1 3 5 支付的费用,而另一个表包含所有游戏信息,有没有办法传递游戏 1,3 中的信息, 5 使用某种类型的键值或身份?如果我所描述的内容听起来很无知,我深表歉意,这是因为我对 PHP 和 mySQL 非常陌生。我很难表达自己的想法。

标签: php mysql e-commerce subscription billing


【解决方案1】:

如果我们采用体育范式...

每个游戏都需要有一个唯一的 ID。然后你有一个客户表,每个客户都有一个唯一的 ID。然后你有一个表格,描述了谁为什么支付了费用。包含两列 ID、customerID 和 gameID 的表。这就是所谓的标准化。

因此,在您的加入表中,您可能有 CUSTOMER ID 001,他们为游戏 001、003 和 005 付费。这是客户表:

.------------------------------.
| customer_id | customer_name  |
|------------------------------|
| 001         | SPM, Inc.      |
| 002         | Stack Overflow |
'------------------------------'

这是游戏桌:

.---------------------------------.
| game_id     | description       |
|---------------------------------|
| 001         | Giants v. Red Sox |      |
| 002         | Blah v. Yada      |
| 003         | Vader v. Kenobi   |
| 004         | Romney v. Obama   |
| 005         | Roth v. Hagar     |
'---------------------------------'

这是对应于谁支付什么的表格:

.-----------------------------.
| customer_id | game_id       |
|-----------------------------|
| 001         | 001           |
| 001         | 003           |
| 001         | 005           |
| 002         | 002           |
| 002         | 005           |
'-----------------------------'

注意最后一个表中的 ID 不是唯一的。

【讨论】:

  • 老兄......你真是太棒了。谢谢你,说真的。我想我唯一的其他猜测是,我假设如果客户为新数据付费,那么该信息付款完成后可以转到第三张桌子。我这样说对吗?再次感谢,没有人花时间为我回答这个问题。
  • 看着它,模型是直截了当的。我想我真正想问的是,有没有一种方法可以使用您在此处显示的键值/ID 在一行内调用信息。我觉得有点无能为力。
  • 你会到达那里的。当你习惯它时,它非常简单。因为实际的付费数据在客户/游戏数据之外,您可以随意添加或删除。您甚至可以添加一个 DATE 列以在订阅类型的情况下使用。可能性是无止境。归根结底,我绝对建议您买一本好书并通过示例进行操作。
  • 伊恩,最后一个问题。假设我有 MLB 中每支球队的一年历史数据。您会建议为每个团队使用多个数据库吗?还是一个数据库多表?
  • 肯定是多合一数据库。完全没有必要加入数据库。