我有一個返回數據庫結果像這樣的功能:分類的MySQL結果陣列
<?php print_r($homepagematches; ?>
Array
(
[0] => Array
(
[matchid] => 30
[matchtitle] => Testing This!
[matchaverage] => 1
[matchyoutubecode] => New Match
[casterid] => 1
[matchtype] =>
[matchdate] => 2013-05-24 02:19:49
[matchcasteryoutube] => http://youtube.com/huskystarcraft
[matchcaster] => HuskyStarcraft
)
[1] => Array
(
[matchid] => 27
[matchtitle] => Psy vs Camara
[matchaverage] => 1
[matchyoutubecode] => nefC9vkMfG8
[casterid] => 1
[matchtype] =>
[matchdate] => 2013-05-24 02:13:10
[matchcasteryoutube] => http://youtube.com/huskystarcraft
[matchcaster] => HuskyStarcraft
)
該函數返回內最近3天內的所有比賽中,我試圖找出是如何數組改革,我可以在發佈日期之前顯示比賽。我知道一個foreach循環可能需要這個,我只是無法理解我需要實現的概念。
$matchdate = '';
foreach($this->data['homepagematches'] as $match){
if($matchdate != date('m/d', strtotime($match['matchdate'])) || $matchdate == ''){
$homematch[date('m/d', strtotime($match['matchdate']))] = array(
"matchtitle" => $match['matchtitle']);
}
基本上我需要的陣列看起來像:
Array
(
[05/24] => Array
(
[matchid] =>30
[matchtitle] => Testing This!
[matchyoutubecode] => New Match
[casterid] = 1
)
)
或者您可以查詢'matchdate'字段並僅提取正確的結果。這種方式對MySQL的壓力較小(不會返回太多結果),也不需要編寫php代碼來完成mysql應該完成的任務。 – Twisted1919
我收到了正確的結果。查詢只返回確實會顯示的行。你是說,而不是一個查詢在過去3天內拉動所有匹配,我需要有三個不同的查詢,每個查詢都在某一天,即今天,昨天......。這似乎是服務器處理的更多負載。謝謝你快速的回覆! :) –