2

我试图用一天产生的能量显示一条曲线。所以曲线必须一直在增长。

我尝试将变量“energie_journ”与以前的所有变量一起增加我的 mysql 数据库。

示例:

mysql:

ID           energie_journ
1                 5
2                 5
3                 10
4                 6

期望的结果:

First energie_journ = 1, the second = 10 (5 +5), third = 20 (5 +5 +10), fourth = 26 (5 +5 +10 +6).

位php:

while   ($row2  =   mysql_fetch_array($result2)) {
    extract($row2);

    $datetime *= 1000;

    $encode_energie_journ[] = array((float)$datetime, (float)$energie_journ == null ? null : (float)$energie_journ);
}

谢谢。

4

3 回答 3

1

您也可以让 MySQL 为您计算:

SELECT
  ID,
  energie_journ,
  @subtot := @subtot + val AS energie_journ_to_date
FROM myTable, (SELECT @subtot := 0) subtots
ORDER BY ID;

结果将如下所示:

ID      energie_journ   energie_journ_to_date
 1             5                  5
 2             5                 10
 3            10                 20
 4             6                 26
于 2013-06-12T19:41:10.160 回答
1

在这里,我已经sum在查询中设置了以前的值

SELECT id,(SELECT SUM(energie_journ) FROM `table` WHERE `id` <= p.`id`) AS  sum_col FROM `table` p

只需sum_col根据您的需要使用我认为的结果

希望这是有道理的

于 2013-06-12T19:39:02.150 回答
1

试试这样:

$energy_journ = 0;
while   ($row = mysql_fetch_array($result2)) {
    $energy_journ += $row[1];
    // now save this value to an array, if that's what you are after.
}

并且避免使用extract,它会让你头疼。

于 2013-06-12T19:36:07.560 回答