第一次发布海报,所以我希望你能帮助我,我认为这是一个简单的任务,但无法弄明白。
我有一个名为exports的表,其中包含year和value字段。我目前拥有1992年至2011年的数据。
我想要做的是从数据库中提取这些数据,然后计算年度百分比差异,并将结果存储在一个数组中,以便将数据传递给视图文件。
例如:((1993-1992)/ 1992)* 100)then((1994-1993)/ 1993)* 100)then((1995-1994)/ 1994)* 100)etc。
我需要它灵活,以便我可以添加未来的数据。例如,我最终将添加2012年的数据。
我真的被困在如何推进这个。非常感谢帮助。
答案 0 :(得分:0)
如果我理解正确,解决方案就不会那么复杂。一个简单的SELECT查询来获取年份和值,然后您可以使用PHP中的循环并计算百分比。像这样:
<?php
// Get all the data from the database.
$sql = "SELECT year, value FROM exports";
$stmt = $pdo->query($sql);
// An array to store the precentages.
$percentages = [];
// A variable to keep the value for the last year, to be
// used to calculate the percentage for the current year.
$lastValue = null;
foreach ($stmt as $row) {
// If there is no last value, the current year is the first one.
if ($lastValue == null) {
// The first year would always be 100%
$percentages[$row["year"]] = 1.0;
}
else {
// Store the percentage for the current year, based on the last year.
$percentages[$row["year"]] = (float)$row["value"] / $lastValue;
}
// Overwrite the last year value with the current year value
// to prepare for the next year.
$lastValue = (float)$row["value"];
}
结果数组如下所示:
array (
[1992] = 1.0,
[1993] = 1.2,
[1994] = 0.95
... etc ...
)