创建一个二维关联数组,日期为第一维。因此,您创建了一个数组 $allrecords,其中的键是“2012-01-01”等,每个数组的值都是一个关联数组,它模仿数据的其他结构,始终为零。因此,如果您的数据如下所示:
DATE FIELDA FIELDB FIELDC
2012-01-01 10 20 30
2012-01-03 1 2 3
您创建数组以便
$allrecords["2012-01-01"]["FIELDA"]=0;
$allrecords["2012-01-01"]["FIELDB"]=0;
$allrecords["2012-01-01"]["FIELDC"]=0;
$allrecords["2012-01-02"]["FIELDA"]=0;
etc.
你只会遍历你的数据集一次,做类似的事情
$allrecords["2012-01-01"]["FIELDA"]=10;
$allrecords["2010-01-01"]["FIELDB"]=20;
$allrecords["2010-01-01"]["FIELDC"]=30;
get next record
$allrecords["2010-01-03"]["FIELDA"]=1;
etc.
然后你遍历数组来做你的输出。
或者,如果您可以更改查询,您可以创建一个包含所需日期的临时表,并将其连接到结果中,并在填补空白的情况下将数据带入。