MMCT TEAM
Server IP : 162.214.80.37  /  Your IP : 216.73.216.83
Web Server : Apache
System : Linux sh013.webhostingservices.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : imyrqtmy ( 2189)
PHP Version : 8.2.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home2/imyrqtmy/public_html/dts/admin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home2/imyrqtmy/public_html/dts/admin/report1.php
<?php
   session_start();
   error_reporting(0); 
   ini_set('display_errors', 0); 
   $se = $_SESSION["id"];
   if (!isset($_SESSION['id'])) {
       header("Location: login.php");
   }
   include("inc/config.php");
?>
<!DOCTYPE html>
<html lang="en">
   <?php require "inc/head.php"; ?>
   <body>
      <!-- header-->
      <?php require "inc/header.php"; ?>
      <!-- End header-->
      <div class="wrapper">
         <?php require "inc/sidebar.php"; ?>
         <?php
            include("db_connection.php"); // Include database connection
            
            // Default values for filters
            $start_date = isset($_GET['start_date']) ? $_GET['start_date'] : '';
            $start_time = isset($_GET['start_time']) ? $_GET['start_time'] : '00:00:00';
            $end_time = isset($_GET['end_time']) ? $_GET['end_time'] : '23:59:59';
            $emp_id = isset($_GET['emp_id']) ? $_GET['emp_id'] : '';
            $project_id = isset($_GET['project_id']) ? $_GET['project_id'] : '';
            
            // Fetch employees for dropdown
            $emp_query = "SELECT id, emp_name FROM employees";
            $emp_result = mysqli_query($conn, $emp_query);

            // Fetch projects for dropdown
            $project_query = "SELECT id, project_name FROM projects";
            $project_result = mysqli_query($conn, $project_query);
         ?>
         <div id="content">
            <div class="row mb-4">
               <div class="col-12">
                  <div class="row">
                     <div class="col-12 col-md-12 mb-4">
                        <div class="card redial-border-light redial-shadow">
                           <div class="card-body">
                              <!-- 🔹 Filter Form -->
                              <form method="GET" action="">
                                 <div class="row">
                                    <div class="col-md-2">
                                       <label>Start Date:</label>
                                       <input type="date" name="start_date" class="form-control" value="<?= $start_date ?>">
                                    </div>
                                    <div class="col-md-2">
                                       <label>Start Time:</label>
                                       <input type="time" name="start_time" class="form-control" value="<?= $start_time ?>">
                                    </div>
                                    <div class="col-md-2">
                                       <label>End Time:</label>
                                       <input type="time" name="end_time" class="form-control" value="<?= $end_time ?>">
                                    </div>
                                    <div class="col-md-3">
                                       <label>Employee:</label>
                                       <select name="emp_id" class="form-control">
                                          <option value="">All Employees</option>
                                          <?php while ($emp = mysqli_fetch_assoc($emp_result)) { ?>
                                          <option value="<?= $emp['id']; ?>" <?= ($emp_id == $emp['id']) ? 'selected' : ''; ?>>
                                             <?= $emp['emp_name']; ?>
                                          </option>
                                          <?php } ?>
                                       </select>
                                    </div>
                                    <div class="col-md-3">
                                       <label>Project:</label>
                                       <select name="project_id" class="form-control">
                                          <option value="">All Projects</option>
                                          <?php while ($project = mysqli_fetch_assoc($project_result)) { ?>
                                          <option value="<?= $project['id']; ?>" <?= ($project_id == $project['id']) ? 'selected' : ''; ?>>
                                             <?= $project['project_name']; ?>
                                          </option>
                                          <?php } ?>
                                       </select>
                                    </div>
                                    <div class="col-md-4 mt-4">
                                       <button type="submit" class="btn btn-primary">Filter</button>
                                       <a href="<?= basename($_SERVER['PHP_SELF']); ?>" class="btn btn-secondary">Clear Filter</a>
                                    </div>
                                 </div>
                              </form>
                              <hr>

                              <!-- 🔹 Summary Table (Filtered) -->
                              <?php
                                 $summary_query = "SELECT c.v_name, COUNT(*) AS total 
                                                   FROM click_records cr
                                                   LEFT JOIN categories c ON cr.category_id = c.id
                                                   LEFT JOIN projects p ON cr.project_id = p.id
                                                   LEFT JOIN employees e ON cr.emp_id = e.id
                                                   WHERE 1";

                                 // Apply filters
                                 if ($start_date) {
                                     $summary_query .= " AND DATE(cr.clicked_at) = '$start_date'";
                                 }
                                 if ($start_time && $end_time) {
                                     $summary_query .= " AND TIME(cr.clicked_at) BETWEEN '$start_time' AND '$end_time'";
                                 }
                                 if ($emp_id) {
                                     $summary_query .= " AND e.id = '$emp_id'";
                                 }
                                 if ($project_id) {
                                     $summary_query .= " AND p.id = '$project_id'";
                                 }

                                 $summary_query .= " GROUP BY c.v_name";

                                 $summary_result = mysqli_query($conn, $summary_query);
                              ?>

                              <h4>Summary (Filtered)</h4>
                              <table class="table table-bordered">
                                 <thead>
                                    <tr>
                                       <th>Category</th>
                                       <th>Count</th>
                                    </tr>
                                 </thead>
                                 <tbody>
                                    <?php while ($row = mysqli_fetch_assoc($summary_result)) { ?>
                                    <tr>
                                       <td><?= htmlspecialchars($row['v_name']) ?: 'No Category'; ?></td>
                                       <td><?= $row['total']; ?></td>
                                    </tr>
                                    <?php } ?>
                                 </tbody>
                              </table>

                              <hr>

                              <!-- 🔹 Project List Table -->
                              <?php
                                 $query = "SELECT 
                                 p.id AS project_id,
                                 p.project_name,
                                 e.emp_name,
                                 c.v_name AS category_name,
                                 COALESCE(cr.click_count, 0) AS total_clicks,
                                 cr.clicked_at
                                 FROM projects p
                                 LEFT JOIN employees e ON p.emp_id = e.id
                                 LEFT JOIN click_records cr ON p.id = cr.project_id
                                 LEFT JOIN categories c ON cr.category_id = c.id
                                 WHERE 1";

                                 // Apply filters
                                 if ($start_date) {
                                     $query .= " AND DATE(cr.clicked_at) = '$start_date'";
                                 }
                                 if ($start_time && $end_time) {
                                     $query .= " AND TIME(cr.clicked_at) BETWEEN '$start_time' AND '$end_time'";
                                 }
                                 if ($emp_id) {
                                     $query .= " AND e.id = '$emp_id'";
                                 }
                                 if ($project_id) {
                                     $query .= " AND p.id = '$project_id'";
                                 }

                                 $query .= " ORDER BY cr.clicked_at DESC";

                                 $query_run = mysqli_query($conn, $query);
                              ?>
                              <h4>Project Data (Filtered)</h4>
                              <table id="example" class="table table-bordered">
                                 <thead>
                                    <tr>
                                       <th>#</th>
                                       <th>Project</th>
                                       <th>Employee Name</th>
                                       <th>Category</th>
                                       <th>Total Clicks</th>
                                       <th>Clicked At</th>
                                    </tr>
                                 </thead>
                                 <tbody>
                                    <?php
                                       $counter = 1;
                                       while ($row = mysqli_fetch_assoc($query_run)) {
                                    ?>
                                    <tr>
                                       <td><?= $counter++; ?></td>
                                       <td><?= htmlspecialchars($row['project_name']); ?></td>
                                       <td><?= htmlspecialchars($row['emp_name'] ?: 'Not Assigned'); ?></td>
                                       <td><?= htmlspecialchars($row['category_name'] ?: 'No Category'); ?></td>
                                       <td><?= htmlspecialchars($row['total_clicks']); ?></td>
                                       <td><?= date("Y-m-d H:i:s", strtotime($row['clicked_at'])); ?></td>
                                    </tr>
                                    <?php } ?>
                                 </tbody>
                              </table>
                           </div>
                        </div>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>


      <script src="dist/js/plugins.min.js"></script>       
      <script src="dist/js/common.js"></script>
      <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
      <script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.4.1/js/dataTables.buttons.min.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
      <script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.print.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
   </body>
</html>

MMCT - 2023