如果相同,则回显日期一次


Echo date once if same

我有下面的代码显示日期和时间:

while ($re = $result2->fetch_assoc()) {
       $datetime = new DateTime($re["start"]);
       $time = $dateTime->format('H:i');
       echo "<p>", $dateTime->format('l, d.m.y'), "</p>";
       echo "<a href='reservation.php'>$time</a>";
}

现在我得到了同一天,有更多的时间(小时:分钟)新的结果与日期和日期,但我需要列出所有的时间在一天,日期。

这是它现在的样子:

周一07.07.2014。
10:30

星期一,07.07.2014。
12:30

我需要它像这样:

周一07.07.2014。
10:30 12:30

假设您的查询是按日期排序的,您可以使用一个变量来跟踪日期变化:

$last_day="";
while ($re = mysqli_fetch_array($result2, MYSQL_ASSOC)){
       $datetime = $re["start"];
       $datetime = strtotime($datetime);
       $date = date('l, d.m.Y.',$datetime);  // Why use 2 vars?
       if($date != $last_day) {
            $last_day = $date;
            echo "<p>$date</p>";
       }
       $time = date('H:i',$datetime);
       echo "<a href='reservation.php'>$time</a>";
}