在 php 中构建 mysql 数据库报告

Building a mysql database report in php

如何在 MySQL 查询中实现这样的结果:

SELECT `DATE`,`am IN`,`am OUT`,`pm IN`,`pm OUT`,`OT IN`,`OT OUT` 
FROM `EMPLOYEE ATTENDANCE LOGS` 
WHERE `ID No.` = '3' 
AND `Dept.` = `ADMIN/OFFICE` 
AND `Name` = 'GOJO CRUZ, CHARLOTTE'

参见 答案。你只能看到一个员工的原因是因为在他的查询中,ID 号 = 3.

要为所有员工生成此信息,您需要一个员工 ID 列表,并针对每个员工 运行 此查询。

作为替代方案,您可以 运行 它没有 ID 限制,但您必须在应用程序代码中按 ID 对数据进行分组,然后

首先,您必须从数据库中获取所有员工 table,然后遍历他们的 ID 以获得所需格式的出勤报告

$qry_employee = mysqli_query($connection, "SELECT employee_id FROM employee");
if($qry_employee)
{
    if(mysqli_num_rows($qry_employee) > 0)
    {
        while ($employees = mysqli_fetch_array($qry_employee))
        {
            $qry_attendance = mysqli_query($connection, "SELECT e.employee_id, e.employee_name, 
                                a.am_id, a.am_out, a.pm_in, a.pm_out, a.ot_in, a.ot_out, a.date 
                                FROM employee e 
                                JOIN attendance a ON e.ID = a.ID 
                                WHERE a.date BETWEEN '2015-08-01' AND 2015-08-30' 
                                AND e.employee_id = ".$employees['employee_id']."
                                ORDER BY e.ID ASC");

            // your report generation here
        }
    }
    else
    {
        echo "No result found to display.";
    }
}