我刚刚学会了PHP
,HTML5
,Javascript
的基本知识。我的文凭最后一年项目是创建一个简单的宾馆系统。
我开始时房间预订的概念让我更加困惑。
我的数据库中有表格:
roomreservation_ID
,arrival
,departure,room_ID
room_ID
,room_Name
,room_Description
。预订room
时,date
将首先过滤。这里出现问题。
如果我试试
select room_ID, max(departure) from room reservation group by room_ID;
当然,这可以选择每个room_ID
的最新日期,但如何继续与$userinputdate
进行比较?
注意每个房间只有一个数量。
这是我目前使用的示例表http://sqlfiddle.com/#!9/1930a
这是我写的代码
<?php
if(isset($_POST["btn"]))
{
$sd = $_POST["starting_date"]; //get from user input
$ed = $_POST["ending_date"];
$sql="SELECT room_id FROM roominventory where departure <= '$sd' group by room_id "; //this is for roominventory table
$result=mysqli_query($con,$sql);
$rowcount=mysqli_num_rows($result);
$sd1 = date('d-m-Y', strtotime($_POST["starting_date"])); //convert date format
$ed1 = date('d-m-Y', strtotime($_POST["ending_date"]));
echo "\n";
echo nl2br("Starting Date :".$sd1." "." "." "."Ending Date :".$ed1."\n"); //display converted date format
while($row=mysqli_fetch_assoc($result))
{
$a = $row['room_id'];
$result2=mysqli_query($con,"SELECT * FROM room where room_id='$a'");
while($row2=mysqli_fetch_assoc($result2)){
?>
<body>
<table border="solid" width="400px">
<tr>
<th colspan="4"><?php echo $row2["room_name"]; ?></th>
</tr>
<tr>
<td rowspan="3">picture here</td>
</tr>
<tr>
<td colspan="3">Description: <?php echo $row2["room_desc"]; ?> </td>
</tr>
<tr>
<td>feature here</td>
<td>Price: <?php echo $row2["room_price"]; ?></td>
<td> <?php echo "<a href=book2.php?id=".$row2["room_id"]."&sd=".$sd."&ed=".$ed.">BOOK NOW</a>"; //pass tri-varible ?></td>
</tr>
</table>
</body>
<?php
}
}
}
?>
我写的这段代码的缺点是它会过滤我数据库中的每个日期,甚至是过时的日期。