javascript - 如何根据结束日期显示组数据?
问题描述
如何使用新表显示基于任务结束日期的数据。这意味着,完整的 <div 标签`` 将在每个结束日期重复并在列上显示记录。例如-
**Staff 1**
**Staff 2**
期待中的感谢。
<div>
<table class="table table-bordered">
<tr>
<th>ID</th>
<th>Task Name</th>
<th>Remarks</th>
<th>Start Date</th>
<th>End Date</th>
</tr>
<?php
$sql = "SELECT * FROM dl_fullremarks ";
$result = mysqli_query($conn, $sql);
foreach ($result as $row) {?>
<tr>
<td><?php echo $row['staff_id']; ?></td>
<td><?php echo $row['task_name']; ?></td>
<td><?php echo $row['task_remarks']; ?></td>
<td><?php echo $row['task_startdate']; ?></td>
<td><?php echo $row['task_enddate']; ?></td>
</tr>
<?php
}
?>
</table>
</div>
解决方案
您可以先使用 SQL 获取数据,然后使用 PHP 关联数组对其进行组织:
$data = [];
foreach ($result as $row) {
// Check if the current end date is part of the array. If not, add it
if (!isset($data[$row['task_enddate']]) {
$data[$row['task_enddate']] = [];
}
// Add the row to the assigned end date
$data[$row['task_enddate']][] = $row;
}
$data
nows 包含以下结构:
[
'2020-11-14' => [
['staff_id' => 1, 'task_name' => 'name', // ...],
['staff_id' => 2, 'task_name' => 'other name', // ...],
],
'2020-12-16' => [
['staff_id' => 3, 'task_name' => 'name', // ...],
],
]
您现在可以遍历它以显示您的模板 :) !
foreach ($data as $date => $rows) {
echo '<div>';
echo "<div>$date</div>";
echo '<div class="row">';
foreach ($rows as $row) {
// Display your row data here
}
echo '</div></div>';
}
推荐阅读
- nginx - Curl 在 Nginx 重启后检索数据时出现问题
- java - 我们如何访问子类覆盖的超类方法?怎么可能在内存级别?
- java - Apache Netbeans 中缺少 Java 类别
- sql - 使用 PIVOT 的 NULL 字段
- linux - GTK 程序什么都不做
- selenium - 当 selenium-server-standalone 作为 Windows 服务运行时,无法初始化 Chrome WebDriver
- c - insmod:错误:无法插入模块 dvb-usb-it913x.ko:模块中的未知符号
- c++ - 如何使用带有特殊整数的输入重定向作为分隔符,直到 eof
- java - 无法使用 Collections(Java) 对文件名包含时间戳的文件列表进行排序
- sql - 使用连续的行对计算值,包括最后一行的值