在 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.";
}
}
如何在 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 列表,并针对每个员工 运行 此查询。
作为替代方案,您可以 运行 它没有 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.";
}
}