0

初めてのポスターなので、簡単な作業だと思うのにわからないことを教えていただければ幸いです。

年と値のフィールドを持つ exports というテーブルがあります。現在、1992 年から 2011 年までのデータがあります。

私ができるようにしたいのは、このデータをデータベースから抽出し、前年比のパーセンテージ差を計算し、結果を配列に格納して、データをビュー ファイルに渡すことができるようにすることです。

例: ((1993-1992)/1992)*100) 次に ((1994-1993)/1993)*100) 次に ((1995-1994)/1994)*100) など。

将来のデータを追加できるように、柔軟にする必要があります。たとえば、最終的には 2012 年のデータを追加します。

これをどのように進めるか、私は本当に立ち往生しています。助けていただければ幸いです。

4

1 に答える 1

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 ...
)
于 2013-06-16T23:27:33.177 に答える