Создание отчета базы данных mysql в php

Как я могу достичь в MySQL запросе такой результат: введите описание изображения здесь

3 ответа

Решение

Прежде всего, вам нужно вывести всех сотрудников из таблицы базы данных, а затем перебрать их идентификаторы, чтобы получить отчет о посещаемости в желаемом формате.

$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.";
    }
}
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.

Чтобы создать это для всех сотрудников, вам нужен список идентификаторов сотрудников, и для каждого из них запустите этот запрос.

В качестве альтернативы вы можете запустить его без ограничений идентификатора, но вам придется сгруппировать данные по идентификатору в коде приложения, а затем

Другие вопросы по тегам