Php 数组输出和日期格式

Php 数组输出和日期格式,php,arrays,timestamp,Php,Arrays,Timestamp,我希望有人能给我指出正确的方向,我需要做什么 我有一个mysql数据库,其中有一个名为“StartDate”的日期值字段,格式为“YYYY-MM-DD” 因此,我已通过以下方式连接到数据库- $results = $wpdb->get_results( "SELECT * FROM wp_myEventDates ORDER BY `StartDate` ASC" ); 我想按月份对事件进行分组,例如,6月份有10个事件,7月份有12个事件- 我使用了foreach循环并测试了几种方法来

我希望有人能给我指出正确的方向,我需要做什么

我有一个mysql数据库,其中有一个名为“StartDate”的日期值字段,格式为“YYYY-MM-DD”

因此,我已通过以下方式连接到数据库-

$results = $wpdb->get_results( "SELECT * FROM wp_myEventDates ORDER BY `StartDate` ASC" );
我想按月份对事件进行分组,例如,6月份有10个事件,7月份有12个事件-

我使用了foreach循环并测试了几种方法来输出日期,还使用了var_dump,但我不确定如何操作结果

示例一:

$event_id = $myevent->StartDate;
// var dump from event id gives me 
string(10) "2013-04-04" 
例二:

$event_id = $myevent->StartDate;  
$dateArray = getdate(strtotime($event_id));
$mythingmonth = array($dateArray['mon']);
foreach ($mythingmonth as $monthsplit =>$myvalue) {
var_dump($myvalue);
//var dump from myvalue this 
int(4)
}     
我百分之百肯定我是走错了路,我尝试了搜索和尝试,但我迷失了方向-因此,如果有任何关于看什么的指示或建议,那就太棒了

提前谢谢

试试这个:

SELECT Month(startdate),count(id) as nrOfEvents
FROM wp_myEventDates
GROUP BY Month(startdate)
但是再次阅读你的问题,我不确定这是否是你想要的。你能描述一下预期的结果吗

编辑:

如果您的活动持续数年,则最好使用以下方法:

SELECT Month(startdate),Year(startdate),count(id) as nrOfEvents
FROM wp_myEventDates
GROUP BY Month(startdate),Year(startdate)

我对这个问题不是很清楚,但若你们试图根据query reslut对数据库进行分组,我在这里给你们举了一个例子

$event_id = array ("2013-04-04","2013-04-04","2013-05-04","2013-04-04","2013-06-04");
foreach($event_id as $value)
{
   $value = explode('-',$value);
   $month[$value[1]][] = 'hi'; // you can add ur event name here instead of 'hi'
}
var_dump($month);
vardump($month)提供以下输出

array
 '04' => 
   array
     0 => string 'hi' (length=2)
     1 => string 'hi' (length=2)
     2 => string 'hi' (length=2)
 '05' => 
   array
     0 => string 'hi' (length=2)
 '06' => 
   array
     0 => string 'hi' (length=2)
和vardump($month['04']);将给你下面的结果

array
 0 => string 'hi' (length=2)
 1 => string 'hi' (length=2)
 2 => string 'hi' (length=2)

代替foreach中的“hi”,可以添加事件名称,这是查询的结果,您可以使用这种类型的数组按月收集事件

hi@Bartdude-我需要生成一个包含事件的月份列表,并链接到正确的页面-我会看看您的建议-谢谢!您可以从我的查询开始。它应该只返回在该月开始的事件的月份,以及相关事件的数量。HI@Bartude-稍后将尝试此操作,我已被要求快速跳转到其他内容上-感谢您再次响应。HI@Bartude-抱歉,之前拼错了您的名字!-看起来效果不错![“Month(StartDate)”]=>string(1)“4”--[“nrOfEvents”]=>string(2)“12”非常感谢您的帮助-我现在只需要学习如何循环:DHi@Kashyap-我也会尝试一下,今天下午我被要求参与另一个项目-谢谢您的回复。Hi@Kashyap-我尝试了您的解决方案,但由于某些原因,我无法让它工作,它不喜欢[]-致命错误:[]运算符不支持字符串-我可以让它在普通PHP文件上工作-虽然我是新手-但我非常感谢您的帮助。到目前为止,巴特杜德的解决方案似乎是可行的