我需要我的预订系统从最早的时间开始按顺序显示预订。因此,如果有人在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."'";
答案 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"
作为精美显示的日期。您需要修改它以适合您的实际代码和结构,但如果您需要执行任何与日期相关的工作(如排序或比较日期),这是查询日期的方法。