0

一意の年の数と、各年のエントリ数をカウントしたい日付フィールドを持つデータベースがあります。ここに私が持っているものがあります:

while ($row = mysql_fetch_array($sql_result)) 
{
     $Date = $row["Date"];
     //DETERMINE YEARS
     $Year = substr("$Date",0,4);
     if (!in_array($Year, $allDates)){
          $allDates[] = $Year;;
     }

}

したがって、これにより、すべての一意の年を含む配列が残ります。

Array ( [0] => 2010 [1] => 2008 [2] => 2009 [3] => 2006 [4] => 2007 [5] => 2012 [6] => 2011 [7] => 2013 )

すべてのエントリをもう一度ループして、その特定の年のレコード数を合計するにはどうすればよいでしょうか?

前もって感謝します

4

3 に答える 3

0

再度ループする代わりに、同じ反復で毎年のカウントを維持できます。

于 2013-09-18T13:09:13.183 に答える
0

私はバラトに同意します

そのようなことを試してください:

while ($row = mysql_fetch_array($sql_result)) 
{
     $Date = $row["Date"];
     //DETERMINE YEARS
     $Year = substr("$Date",0,4);
     if (!array_key_exists($Year, $allDates)){
          $allDates[$Year] = $allDates[$Year]+1;
     }else{
          $allDates[$Year] = 1;
     }
}
于 2013-09-18T13:13:50.793 に答える