File: /home/imensosw/demo.imensosoftware.com/matrix/completed.php
<?php
require_once 'config.php';
include 'header.php';
// ✅ Session check
if (!isset($_SESSION['user_id'])) {
die("Unauthorized access");
}
$total = 0;
$rows = [];
// ✅ सुरक्षित query (Prepared Statement)
$stmt = $conn->prepare("
SELECT
a.assignment_no,
a.no_of_record,
a.assignment_date,
a.submit_date,
DATE_FORMAT(a.submit_date, '%m/%d/%Y') as submit_date_mdy,
COUNT(ad.id) as totalCount
FROM assignments a
LEFT JOIN assignment_details ad
ON ad.assignment_id = a.id
WHERE a.deleted = 0
AND a.user_id = ?
AND a.assignment_status_id = 2
GROUP BY a.id
ORDER BY a.id DESC
");
$stmt->bind_param("i", $_SESSION['user_id']);
$stmt->execute();
$result = $stmt->get_result();
// ✅ collect data first
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
$total += (int)$row['no_of_record'];
}
?>
<div class="container-area">
<div class="pt-4 pb-5">
<div class="container">
<h3 class="m-0">
Completed Assignments
<span class="total_count">(<?= $total ?>)</span>
</h3>
<input type="text"
name="search"
class="mt-3 assignment_complete"
placeholder="Search: [Folder Index]"
id="search"
style="text-align: center;">
<div class="row document-card">
<form action="download_excel.php" method="post" id="download_form">
<input type="hidden" name="list[]" id="list" value="">
</form>
<div class="col-sm-12 border-right mb-4">
<div class="pull-right">
<a href="#" id="download_excel">
<input class="btn btn-primary" type="submit" value="Download Xls" />
</a>
</div>
<div class="table-responsive" id="assignment_complete_table">
<table class="table table-striped table-sm table-bordered">
<thead>
<tr>
<th>Action</th>
<th><a href="#" class="column_sort" id="folder_index" data-order="desc">Folder Index</a></th>
<th><a href="#" class="column_sort" id="data_count" data-order="desc">Data Count</a></th>
<th><a href="#" class="column_sort" id="assigned_date" data-order="desc">Assigned Date</a></th>
<th><a href="#" class="column_sort" id="completed_date" data-order="desc">Completed Date</a></th>
</tr>
</thead>
<tbody>
<?php if (!empty($rows)): ?>
<?php foreach ($rows as $row): ?>
<tr>
<td>
<input type="checkbox"
class="chk_doc_no"
name="doc_no[]"
value="<?= htmlspecialchars($row['assignment_no']) ?>"
file_count="<?= (int)$row['no_of_record'] ?>" />
</td>
<td>
<a href="data_view.php?assignment_no=<?= urlencode($row['assignment_no']) ?>" target="_blank">
<?= htmlspecialchars($row['assignment_no']) ?>
</a>
</td>
<td><?= (int)$row['no_of_record'] ?></td>
<td><?= date('m/d/Y', strtotime($row['assignment_date'])) ?></td>
<td><?= date('m/d/Y', strtotime($row['submit_date'])) ?></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="5" class="text-center">No completed assignments found</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$(".total_count").html("(<?= $total ?>)");
});
// ✅ keep your original logic (unchanged)
$('#download_excel').on('click', function(e) {
e.preventDefault();
var SlectedList = [];
$("input.chk_doc_no:checked").each(function() {
SlectedList.push($(this).val());
});
$("#list").val(SlectedList);
if (SlectedList.length > 0) {
$('#download_form').submit();
}
});
</script>
<?php include 'footer.php'; ?>