客房预订PHP概念

时间:2015-09-21 14:51:14

标签: php mysql sql

我刚刚学会了PHPHTML5Javascript的基本知识。我的文凭最后一年项目是创建一个简单的宾馆系统。

我开始时房间预订的概念让我更加困惑。

我的数据库中有表格:

  1. 房间保存roomreservation_IDarrivaldeparture,room_ID
  2. 会议室room_IDroom_Nameroom_Description
  3. 预订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."&nbsp"."&nbsp"."&nbsp"."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           
             }
         }
    
     }
    
    ?>
    

    我写的这段代码的缺点是它会过滤我数据库中的每个日期,甚至是过时的日期。

0 个答案:

没有答案