(int)$days, 'hour' => (int)$hours, 'minute' => (int)$minutes, 'second' => (int)$seconds, ]; foreach ($sections as $name => $value){ if ($value > 0) { $timeParts[] = $value. ' '.$name.($value == 1 ? '' : 's'); } } return implode(', ', $timeParts); } if (isset($_GET['year'])) { $year = intval($_GET['year']); } else { $year = date('Y'); } if (isset($_GET['month'])) { $month = intval($_GET['month']); } else { $month = date('m'); } $sql_ticket_years = mysqli_query($mysqli, "SELECT DISTINCT YEAR(ticket_created_at) AS ticket_year FROM tickets ORDER BY ticket_year DESC"); $sql_clients = mysqli_query($mysqli, "SELECT client_id, client_name FROM clients WHERE client_archived_at IS NULL ORDER BY client_name ASC"); ?>

Tickets By Client

Yearly ()

0 || $ticket_resolved_count > 0) { // Calculate average time to respond $avg_time_to_respond = '-'; $count = 0; $total = 0; while ($row = mysqli_fetch_array($sql_tickets_respond)) { if (!empty($row['ticket_first_response_at'])) { $openedTime = new DateTime($row['ticket_created_at']); $respondTime = new DateTime($row['ticket_first_response_at']); $total += ($respondTime->getTimestamp() - $openedTime->getTimestamp()); $count++; } } if ($count > 0) { $avg_time_to_respond = secondsToTime($total / $count); // Avoids DivisionByZeroError } // Calculate average time to solve $avg_time_to_resolve = '-'; if ($ticket_resolved_count > 0) { $count = 0; $total = 0; while ($row = mysqli_fetch_array($sql_tickets_resolved)) { $openedTime = new DateTime($row['ticket_created_at']); $resolvedTime = new DateTime($row['ticket_resolved_at']); $total += ($resolvedTime->getTimestamp() - $openedTime->getTimestamp()); $count++; } $avg_time_to_resolve = secondsToTime($total / $count); } ?>
Client Raised Priority: Low Priority: Med Priority: High Resolved Total Time worked (H:M:S) Avg time to respond Avg time to resolve

Monthly ()

0 || $ticket_resolved_count > 0) { // Calculate average time to respond $avg_time_to_respond = '-'; $count = 0; $total = 0; while ($row = mysqli_fetch_array($sql_tickets_respond)) { if (!empty($row['ticket_first_response_at'])) { $openedTime = new DateTime($row['ticket_created_at']); $respondTime = new DateTime($row['ticket_first_response_at']); $total += ($respondTime->getTimestamp() - $openedTime->getTimestamp()); $count++; } } if ($count > 0) { $avg_time_to_respond = secondsToTime($total / $count); // Avoids DivisionByZeroError } // Calculate average time to solve $avg_time_to_resolve = '-'; if ($ticket_resolved_count > 0) { $count = 0; $total = 0; while ($row = mysqli_fetch_array($sql_tickets_resolved)) { $openedTime = new DateTime($row['ticket_created_at']); $resolvedTime = new DateTime($row['ticket_resolved_at']); $total += ($resolvedTime->getTimestamp() - $openedTime->getTimestamp()); $count++; } $avg_time_to_resolve = secondsToTime($total / $count); } ?>
Client Raised Priority: Low Priority: Med Priority: High Resolved Total Time worked (H:M:S) Avg time to respond Avg time to resolve