0

我已经尝试了几个星期来弄清楚如何解决这个问题,但我无法正确解决......

我在数据库中有一个表,其中包含月份日期、用户 ID、目标和值,如下所示。

+--------+---------+--------+--------+
| 月 | 用户 ID | 目标 | 价值 |
+--------+---------+--------+--------+
| 一月 | 1 | 10000 | 7694 |
| 二月 | 1 | 10000 | 9487 |
| 三月 | 1 | 12000 | 14054 |
+--------+---------+--------+--------+

显示数据是容易的部分,但当涉及溢出时会变得很棘手。如果用户的值超过了当月的目标值,那么剩余的值就会溢出到下个月,并在全年继续填满。例如,如果 1 月的目标是 10,000 英镑,而 1 月底的价值是 35,000 英镑,那么 1 月:100%,2 月:100%,3 月:100%,4 月:50%(假设目标保持在全年相同)。

如果用户没有超过上个月的目标,那么下个月的值将被添加到上个月以达到目标。

有没有更简单的方法可以使用 PHP 和 MySQL 做到这一点?现在我只是查询数据,然后使用多个 if 条件显示它,并使用 while 循环显示溢出。我应该改用数组吗?

我不期待明确的代码,但如果你能指出我正确的方向,我将非常感激!:)

4

1 回答 1

1

没有看到任何 php 代码,我很难给你很多帮助。您遇到的这个问题似乎很简单。从我收集到的目标和价值应该是相同的数字,除了上个月可能更少。只需在循环内做一些简单的数学运算就足以完成你正在做的事情。如果值 > 目标 ... $overflow = $value - 目标;... 如果溢出 > 0 则下一个循环 .. $value += $overflow .. 冲洗并重复

于 2014-03-02T20:00:29.083 回答