【发布时间】:2016-07-05 14:23:35
【问题描述】:
我有使用 php 和 mysql 显示每月数据的代码:
$sql = "SELECT title,timestamp,id FROM ".NEWS." ORDER BY timestamp DESC";
$data = DataAccess::Fetch($sql);
$nav = array();
foreach ( $data as $news ) {
$month = date('F', $news['timestamp']);
$nav[$month][$news['id']] = $news['title'];
}
现在在var_export($nav)我的结果是假的:
array (
'July' =>
array (
277 => 'title1 for July 2016',
276 => 'title2 for July 2016',
275 => 'title3 for July 2016',
273 => 'title4 for July 2016',
272 => 'title5 for July 2016',
274 => 'title1 for July 2015',
264 => 'title2 for July 2015',
261 => 'title3 for July 2015',
),
'January' =>
array (
243 => 'title for January 2016',
242 => 'title for January 2015',
),
)
在结果中,我看到 2016 年 7 月的数据与 2015 年 7 月的数据或 2016 年 1 月的数据与 2015 年 1 月的合并数据。我需要将 2016 年 7 月的数据与 2015 年 7 月和 2016 年 1 月与 2015 年 1 月的数据分开。如何解决问题?
【问题讨论】:
-
@RiggsFolly:当然,如果我添加
$year = date('Y', $news['timestamp']);和$nav[$year][$month][$news['id']] = $news['title'];这有效,但我需要每个月只打印数据。我的意思是:每月从数据库中打印数据。 -
您的意思是您只想在报告中显示
2016 - July数据