CREATE TABLE `tbl_atn` (
`atn_id` int(15) NOT NULL AUTO_INCREMENT,
`eng_id` int(15) DEFAULT NULL,
`visit` varchar(50) DEFAULT NULL,
`travel` varchar(50) DEFAULT NULL,
`start_time` varchar(50) DEFAULT NULL,
`mile` varchar(50) DEFAULT NULL,
`end_time` varchar(50) DEFAULT NULL,
`comments` varchar(100) DEFAULT NULL,
`actual` varchar(50) DEFAULT NULL,
`total_job` varchar(50) DEFAULT NULL,
`regular` varchar(50) DEFAULT NULL,
`over` varchar(50) DEFAULT NULL,
`total_hrs` varchar(50) DEFAULT NULL,
`pay` varchar(50) DEFAULT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`atn_date` date DEFAULT NULL,
PRIMARY KEY (`atn_id`)
)
我想要做的是创建每个月的月度报告。显示所有特定日期并记录上表,如果没有记录则为空
上面是我的桌子。我正在尝试创建此应用程序,但由于此工作表,我被卡住了。首先,这只能使用 MySQL 查询来实现吗?如果没有,我要做的是首先生成所有日期,然后对于每个日期,我必须从数据库中获取一条记录,然后运行另一个查询来总结它们。我无法为此创建查询。
有什么帮助吗?
$now = date('Y-m-d');
$month = date("m",strtotime($now));
$year = date("Y",strtotime($now));
$first = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year));
$last = date('Y-m-t', mktime(0, 0, 0, $month, 1, $year));
$thisTime = strtotime($first);
$endTime = strtotime($last);
while($thisTime <= $endTime)
{
$thisDate = date('Y-m-d', $thisTime);
echo $thisDate."<br>";
$thisTime = strtotime('+1 day', $thisTime); // increment for loop
}
使这段代码现在动态现在我可以获取给定月份和年份的任何月份的所有日期现在我要做的是创建一个函数,该函数将遍历所有日期并将查询发送到数据库以查找数据,如果找到它将设置其他明智的价值为零是正确的方法吗?