mySQL 中的表保存未来几年的酒店预订。
每行包含 id、start_date、end_date 和 status。start_date 包含代表签入日期的日期类型,end_date 是签出日期。
我想检索一组单独的日期,以便我可以循环浏览一年日历并显示下一年的免费日期和保留日期。
由于退房时间较早,酒店可以在 end_date 再次出租房间,因此 end_date 本身不需要包括在内。
例子
ID | start_date | end_date | status
1 | 03/15/2014 | 03/18/2014 | Paid
2 | 05/22/2014 | 05/25/2014 | Deposit
3 | 08/12/2014 | 08/13/2014 | Paid
并排列:
$months_arry = array(1 => '03/15/2014', 1 => '03/16/2014', 1 => '03/17/2014',
1 => '05/22/2014', 1 => '05/23/2014', 1 => '05/24/2014', 1 => '08/12/2014');
由于日历的所有 12 个月都垂直显示在同一页面上,因此最简单的方法是根据数组检查每个日期,以了解它应该是绿色表示空置还是红色表示占用。
在 sql server 上的 asp 3.0 中,我刚刚创建了一个记录集 rs,其中包含“
SELECT start_date, end_date from HotelBookings where start_date >= '2013-12-31'
AND enddate <= '2015-01-01' ORDER BY start_date ASC"
然后 .. 直到 rs.EOF 循环 .. 在里面
循环我将检索 start_date 和 end_date 并循环它们直到两者相等,同时在构建单个日期数组时向 start_date 添加 + 1。
我在寻找答案时发现了这个例子,但它看起来很丑而且不优雅
<?php
// Make a MySQL Connection
$query = "SELECT * FROM example";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['name']. " - ". $row['age'];
echo "<br />";
}
?>