我有一個foreach循環,它跳過第一個循環中的第一個檢索到的記錄,通過數據。我的桌子上有四年的數據。每一年都有一個顏色:PHP foreach循環跳過第一條記錄
2011 - #0000FF 2012 - #ff33ff 2013 - #6666CC 2014 - #FFFF00
當我依次通過它,第一年的顏色(無論我選擇哪一年,因爲數據是動態的)是空白的。第二年有第一年的顏色,第三年有第二年的顏色,依此類推。
代碼如下所示:
while ($record = mysql_fetch_object($result2)) {
$set[$record->TransYear][] = $record;
}
function render($record) {
$output .= "<point lat='{$record->TransLat}' lng='{$record->TransLong}'
poly='{$record->TransYear}' />";
return $output;
}
foreach ($set as $TransYear => $records) {
$YearColor = $record->YearColor;
print "<line category='{$TransYear}' color='{$YearColor}' width='4'>";
print $YearColor;
foreach ($records as $record) {
print render($record);
}
print '</line>';
}
當我把我一年查詢作爲2011年和2012年,輸出看起來是這樣的:
<line category="2011" color="" width="4">
<point lat="43.279" lng="-91.780" poly="2011"/>
<point lat="43.274" lng="-91.785" poly="2011"/>
<point lat="43.272" lng="-91.777" poly="2011"/>
<point lat="43.273" lng="-91.784" poly="2011"/>
<point lat="43.273" lng="-91.782" poly="2011"/>
<point lat="43.277" lng="-91.780" poly="2011"/>
<point lat="43.275" lng="-91.780" poly="2011"/>
<point lat="43.274" lng="-91.786" poly="2011"/>
<point lat="43.275" lng="-91.781" poly="2011"/>
<point lat="43.275" lng="-91.783" poly="2011"/>
<point lat="43.275" lng="-91.779" poly="2011"/>
</line>
<line category="2012" color="#0000FF" width="4">
<point lat="43.225" lng="-91.847" poly="2012"/>
<point lat="43.116" lng="-91.900" poly="2012"/>
<point lat="43.296" lng="-92.026" poly="2012"/>
<point lat="43.004" lng="-91.972" poly="2012"/>
<point lat="43.007" lng="-91.962" poly="2012"/>
<point lat="43.011" lng="-91.930" poly="2012"/>
<point lat="42.798" lng="-91.734" poly="2012"/>
</line>
我試着用$記錄替換$記錄得到它,但沒有奏效。我同意mysql,但更多的是要學習。 – 2014-09-13 13:15:00