0

探している html テーブル レイアウトを生成できるように、データベース データから作成した連想配列を解析する方法を見つけようとしています。

連想配列の構造は次のとおりです。

Array
(
  [2013] => Array
    (
        [1] => Array
            (
                [Total] => Array
                    (
                        [validleads] => 7327
                        [conversions] => 9856
                        [bookings] => 2449
                    )
                    ... more types for this week
                 [PPC] => Array
                    (
                        [validleads] => 884
                        [conversions] => 1109
                        [bookings] => 605
                    )
            )
          .. more weeks for 2013
    )
  [2012] => Array
    (
        [1] => Array
            (
                [Total] => Array
                    (
                        [validleads] => 9423
                        [conversions] => 12459
                        [bookings] => 2629
                    )
                [PPC] => Array
                    (
                        [validleads] => 955
                        [conversions] => 1237
                        [bookings] => 601
                    )
    )
)

したがって、$data各年の配列を含む 1 つのグローバル配列 ( ) があり、各年の配列には、その年の各週の配列があり、その週の数値の配列と合計配列があります。

テーブル構造は理想的には

| Week | Total 2013 | Total 2012 | PPC 2013 | % PPC 2013  |  PPC 2012  | % PPC 2012 |  Other types 2013  | % Other types 2013 | Other types 2012 | % Other types 2012  
|  01  |    7327    |    9423    |   884    |   12.06%    |    955     |    10.13%  |                    |                    |                  |                              

パーセンテージは、その年のその週の数値を取得し、それをその年のその週の合計に 100 を掛けた値で割ります。

私が作成したいテーブル レイアウトは、各年のその週の合計と、各年のその週の各タイプの合計、およびこの合計が全体の合計に対するパーセンテージで、その年の週ごとに 1 つのテーブル行を生成することです。その年の週....

雑ですみません…。

問題は、必要なものを HTML テーブル形式で作成する方法を考えられないことです。

いくつかのが必要であることは知っていforeachますが、それは私が到達できる限りです。

4

2 に答える 2

1

このようなものでは、基本的に少し作業が必要になります。テーブルを正しく機能/表示するには、テーブルのレイアウトを少し変える必要がありますが、実行可能である必要があります。以下のコードは完璧ではありませんが、うまくいけば、問題を回避するのに役立ちます。

for ($i=0;$i<count($data);$i++) {
     //initial loop for year
    echo "Year = ".$data[$i]."<br />";
     for ($z=0;$z<count($data[$i]);$z++) {
     //secondary loop for year
     echo "Week =".$data[$i][$z]."<br />";
     //no need to loop through final array if its always jsut total and ppc if its variable on the final loop another for will be needed though
    echo "Totals: ".$data[$i][$z]['Total']['validleads']." etc etc";
    echo "Totals: ".$data[$i][$z]['PPC']['validleads']." etc etc";

    }
    }
于 2013-02-07T14:47:18.553 に答える