簡體   English   中英

如何按日期對數據進行分組並使用php在html表中顯示

[英]How to group data by date and display in html table using php

您好,我是編程的新手,我偶然發現了按日期對數據進行分組並將其顯示在帶有日期分隔符的表格中。

這是mysql數據: 在此處輸入圖片說明

如何將數據分組為日期,並將其顯示在html表中,如下所示。 在此處輸入圖片說明

我知道如何從數據庫中獲取數據並將它們顯示在html表中,但是按日期對數據進行分組對我來說似乎並不容易,我是php編程的初學者。 我將不勝感激。

顯示輸出:

在此處輸入圖片說明 創建一個提供了數據的數組並遍歷數據。

關鍵是使用數組的關鍵值。

主數組應以date為鍵,並將所有員工行附加到該數組。

數組結構應為:

Array
(
    [19/04/19] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [idno] => 111
                    [date] => 19/04/19
                    [employee] => MAYER CU
                    [timein] => 8:00:00 AM
                    [timeout] => 6:54:00 PM
                    [totalhours] => 10:54
                )

            [1] => Array
                (
                    [id] => 2
                    [idno] => 111
                    [date] => 19/04/19
                    [employee] => MAYER CU
                    [timein] => 10:00:00 AM
                    [timeout] => 6:00:00 PM
                    [totalhours] => 8
                )

        )

    [20/04/19] => Array
        (
            [0] => Array
                (
                    [id] => 3
                    [idno] => 111
                    [date] => 20/04/19
                    [employee] => MIKE SMITH
                    [timein] => 9:01:00 AM
                    [timeout] => 6:54:00 PM
                    [totalhours] => 9:53
                )

            [1] => Array
                (
                    [id] => 4
                    [idno] => 111
                    [date] => 20/04/19
                    [employee] => MIKE SMITH
                    [timein] => 10:00:00 AM
                    [timeout] => 6:55:00 PM
                    [totalhours] => 8:55
                )

        )

)

碼:

<?php 
$arr = [];
$arr[] = ['id' => 1, 'idno' => 111, 'date'=> '19/04/19', 'employee' => 'MAYER CU', 'timein' => '8:00:00 AM', 'timeout' => '6:54:00 PM', 'totalhours' => '10:54'];
$arr[] = ['id' => 2, 'idno' => 111, 'date'=> '19/04/19', 'employee' => 'MAYER CU', 'timein' => '10:00:00 AM', 'timeout' => '6:00:00 PM', 'totalhours' => '8'];
$arr[] = ['id' => 3, 'idno' => 111, 'date'=> '20/04/19', 'employee' => 'MIKE SMITH', 'timein' => '9:01:00 AM', 'timeout' => '6:54:00 PM', 'totalhours' => '9:53'];
$arr[] = ['id' => 4, 'idno' => 111, 'date'=> '20/04/19', 'employee' => 'MIKE SMITH', 'timein' => '10:00:00 AM', 'timeout' => '6:55:00 PM', 'totalhours' => '8:55'];

$arrDisplay = [];
if (! empty($arr)) {
 foreach ($arr as $employee) {
  $arrDisplay[$employee['date']][] = $employee;
 }
}
//echo '<pre>';print_r($arrDisplay);echo '</pre>';
?>
<table border="1" width="100%" cellspacing="0" cellpadding="0">
<?
if (! empty($arrDisplay)) {
 foreach ($arrDisplay as $date => $employees) {
 ?>
 <tr>
<td colspan="7" align="center"><?php echo $date;?></td>
</tr>
<?
if (! empty($employees)) {
 foreach ($employees as $employee) {
?>
 <tr>
 <?
if (! empty($employee)) {
 foreach ($employee as $employeeData) {
 ?>
<td><?php echo $employeeData;?></td>
<?
}
}
?>
</tr>
<?
 }
}
 }
}
?>
</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM