PHP-按特定顺序显示结果

时间:2017-11-06 05:35:22

标签: php

我需要我的预订系统从最早的时间开始按顺序显示预订。因此,如果有人在12:00至2:00之间预订了设备,则下一个使用该系统的人员将在同一天从10:00到11:00预订相同的设备。在此之后,第三个人在同一天从11点到12点之间预订相同的设备。

预订系统运行正常,但按预订顺序显示。因此,使用上面的示例,开始时间将显示为:

-12.00 -10.00 -11.00

我想做的是按照最早的顺序显示开始时间。所以上面的例子将显示如下:

-10.00 -11.00 -12.00

 $sqlEvent="select * from bookings where selected_date='".$month."/".$day."/".$year."'";
 $resultEvents=mysqli_query($dbconnection,$sqlEvent);
 echo "<br>";

 while($events=mysqli_fetch_array($resultEvents)){

 echo "<span class='one'><span class='oneagain'>Equipment:</span> ".htmlspecialchars($events['equipment'])."</span><br>"; 
 echo "<span class='two'><span class='twoagain'>Start Time:</span> ".htmlspecialchars($events['start_time'])."</span><br>";
 echo "<span class='three'><span class='threeagain'>End Time:</span> ".htmlspecialchars($events['end_time'])."</span><br>";

 }

}

我尝试了以下内容,但没有任何效果:

$sqlEvent="select * from bookings ORDER BY start_time ASC where selected_date='".$month."/".$day."/".$year."'";

1 个答案:

答案 0 :(得分:1)

您需要重新考虑数据库的结构。您的字段public virtual ICollection<ApplicationUser> Employees { get; set; } 不应存储为“MM / DD / YYYY”之类的字符串,而应存储在UNIX时间戳或DATETIME等本机日期格式之一中。然后,您可以正确地按该字段排序,并在进出数据库的路上重新格式化。如下所示:

selected_date

这将为您提供您的订购结果,并"SELECT *, DATE_FORMAT(selected_date, '%m/%d/%Y') as formatted_date FROM BOOKINGS WHERE DATE(selected_date)='$year-$month-$day' ORDER BY selected_date ASC" 作为精美显示的日期。您需要修改它以适合您的实际代码和结构,但如果您需要执行任何与日期相关的工作(如排序或比较日期),这是查询日期的方法。

相关问题