Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 确定某一日期存在多少条目_Php_Mysql_Fullcalendar - Fatal编程技术网

Php 确定某一日期存在多少条目

Php 确定某一日期存在多少条目,php,mysql,fullcalendar,Php,Mysql,Fullcalendar,全部,, 我有以下代码: $fetch = mysql_query("SELECT * FROM calendar_events where event_status='booked' and event_type='wedding' GROUP BY start"); while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { $row_array['id'] = $row['id']; $row_array['title'

全部,, 我有以下代码:

$fetch = mysql_query("SELECT * FROM calendar_events where event_status='booked' and event_type='wedding' GROUP BY start"); 
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
    $row_array['id'] = $row['id'];
    $row_array['title'] = $row['title'];
    $row_array['start'] = $row['start'];
    $row_array['end'] = $row['end'];
    array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
我正在使用fullcalendar并试图确定有多少活动具有相同的开始日期。例如,如果我有以下日期:

2012年6月2日
2012年6月2日
2012年1月3日
2012年5月4日

在我的数据库中有条目的日期,我想基本上看看那个日期有多少事件,基本上说还有多少点。因此,对于任何给定的日期,我都可以安排两个活动,因此2012年6月2日,我希望返回“预订”,2012年1月3日,我希望返回“剩余1点”等等

我怎样才能开始做这样的事情呢

谢谢

SELECT 
start, count(*) as used, 2-count(*) as free
FROM calendar_events 
WHERE event_status='booked' 
  and event_type='wedding'
GROUP BY start
或者如你所说:

SELECT 
date(start) as eventdate, count(*) as used, 2-count(*) as free
FROM calendar_events 
WHERE event_status='booked' 
  and event_type='wedding'
GROUP BY date(start)

您就快到了,但是您希望使用
COUNT(*)
返回组中的条目数。(记住给列一个别名,这样您就可以检索它了。)您还应该限制自己只检索
start
列,因为检索不在GROUP BY子句中的列是非标准的。

您几乎完成了,因为其他人已经击败了我。你可以试试这样的。重要的部分是简单地拥有前面提到的计数

$fetch = mysql_query("SELECT id,title,start,end,count(*) as filled FROM calendar_events where event_status='booked' and event_type='wedding' GROUP BY start"); 
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
    $row_array['id'] = $row['id'];
    $row_array['title'] = $row['title'];
    $row_array['start'] = $row['start'];
    $row_array['end'] = $row['end'];
    $row_array['filled'] = $row['filled'];
    $row_array['booked'] = ($row['filled'] >= 2) ? true : false;

    array_push($return_arr,$row_array);
}
echo json_encode($return_arr);

谢谢,效果很好,不过我只有一个问题。我的数据存储为DATETIME,因此条目也有一个时间戳,这使得它不会认为同一天有两个。你知道怎么解释吗?