Php 用于计算周数的逻辑查询
我要求用户在某个应用程序中输入开始和结束日期。然后我计算这两个日期之间的周数 我想获取给定时间段内每周创建的文档。 我无法实现一个逻辑来帮助我获取第一周、第二周、第三周等等 我将使用它作为数据库的输入,然后创建图形。我使用php作为服务器端语言。任何人都可以向我推荐算法 ex:Php 用于计算周数的逻辑查询,php,logic,weblogic,week-number,Php,Logic,Weblogic,Week Number,我要求用户在某个应用程序中输入开始和结束日期。然后我计算这两个日期之间的周数 我想获取给定时间段内每周创建的文档。 我无法实现一个逻辑来帮助我获取第一周、第二周、第三周等等 我将使用它作为数据库的输入,然后创建图形。我使用php作为服务器端语言。任何人都可以向我推荐算法 ex: Start date: 20/07/2012 End Date: 19/02/2013. Total no. of days: 214. Total no. of weeks: 30 (30 weeks and 4
Start date: 20/07/2012
End Date: 19/02/2013.
Total no. of days: 214.
Total no. of weeks: 30 (30 weeks and 4 days)
我想获取2012年7月20日至2012年7月27日期间的文件数量。直到2013年2月15日。在没有看到您的数据库结构的情况下,这里是您所需的示例
SELECT YEAR(doc_created) AS report_year, WEEKOFYEAR(doc_created) AS report_week, COUNT(*) AS doc_count
FROM documents
WHERE doc_created BETWEEN '2012-07-20' AND '2013-07-19'
GROUP BY YEAR(doc_created), WEEKOFYEAR(doc_created)
按周和年分组是不够的,因为期间可能与下一年重叠,所以我们还应该包括年份
possible results:
year week docs
2012 1 4
2012 3 1
2013 1 65
2013 2 4
如你们所见,若我们只使用周数,2012年第一周将与2013年第一周重叠
对于您的表格/图表,请使用参考(年工作周)和金额(单据)e、 g.2012wk1是4,2012wk3是1
尝试以下代码:
Try this code:
$start_date = "20-07-2012";
$end_date = "20-08-2012 ";
while($start_date){
if(strtotime($start_date) > strtotime($end_date)){
exit;
}
$start_date = strtotime("+7 day", strtotime($start_date));
$start_date = date("d-m-Y", $start_date);
echo $start_date;
echo "<br/>";
}
$start_date=“20-07-2012”;
$end_date=“20-08-2012”;
while($start\u date){
if(strotime($start_date)>strotime($end_date)){
出口
}
$start_date=strottime(+7天),strottime($start_date));
$start_date=日期(“d-m-Y”,$start_date);
echo$start_日期;
回声“
”;
}
使用聚合函数,如count()和group by year and week of year我处理了数据库元素,我需要算法在我创建的图形图像中实现这些细节。目前,我只能打印单日选择的文档数量。上述查询将给出每周的报告年、报告周、文档计数
,因此不需要算法,只需将数字插入网格或图像即可。(签出)strotime()在英国日期无法正常工作。如果可能的话,它会假设是我们。所以2012年3月1日将是1月3日,而不是3月1日。使用退出停止一段时间循环?你是认真的吗?!