簡體   English   中英

如何使if語句基於時間戳的日期導致php表?

[英]How to make if statement based on dates from timestamp result in php table?

我正在建立一個日志,每天會有幾個條目。 當我查看日志時,我希望每個日期之間有一個小空格。

有沒有一種簡單的方法來比較我的第一列中的日期,然后在日期更改時創建一個if語句? 在偽代碼中:如果第1列中的日期發生更改:添加空白空間。

這是我表格代碼的摘錄:

    echo "<tr><td>"; 
    echo date('d.m.y', strtotime($row['timestamp']));
    echo "</td><td>";   
    echo date('G:i', strtotime($row['timestamp']));
    echo "</td><td>";    
    echo $row['value'];
    echo "</td></tr>";

當前輸出:

    Date:       Time:  Value:
    01.01.2017  06:00  40
    01.01.2017  08:00  35
    01.01.2017  10:00  32
    02.01.2017  06:00  57
    02.01.2017  08:00  42
    ...

通緝輸出:

    Date:       Time:  Value:
    01.01.2017  06:00  40
    01.01.2017  08:00  35
    01.01.2017  10:00  32

    02.01.2017  06:00  57
    02.01.2017  08:00  42
    ...

將$ row ['timestamp']存儲在foreach循環結尾的變量中,例如$ previousday。 然后你可以比較下一個循環的$ row ['timestamp']和$ previousday。 如果它們不相同,則輸出額外的,否則跳過額外的

代碼周圍會有某種循環。 在這段代碼中,您可以創建一個變量$ oldDate(或者根據需要命名它) - 然后添加空格(如果它與新數據不同)。

// outside of loop
$oldDate = '';

// loop starts here - fills $row somehow
    $curDate = date('d.m.y', strtotime($row['timestamp']));
    if (!empty($oldDate)) {
      if ($oldDate != $curDate) {
         echo 'Some space here';
      }
    }
    $oldDate = $curDate;
   // now add your code

我假設您在循環中打印行,因此您可以添加將保留上一個日期的變量,然后檢查它是否不同。 我認為您甚至可以跳過比較日期並僅比較字符串值。

$previousDate = '';
foreach ($rows as $row) {
    // your block of echos
    $currentDate = strtotime($row['timestamp']);
    if (!empty($previousDate) && ($previousDate != $currentDate)) {
        echo '<tr><td colspan="3"></td></tr>';
    }
    $previousDate = $currentDate;
}

暫無
暫無

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

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