【问题标题】:How to get available dates for reservation如何获得可预订的日期
【发布时间】:2014-12-12 13:24:37
【问题描述】:

我正在尝试建立一个系统,让用户可以预订一个地方,比如寄宿家庭。

我的桌子是这样的:

table: homestay
columns: id

table: reserve
columns: id, homestay_id, datein, dateout

table: homestaybooking_inventory:
columns: id, homestay_id, reserve_id

我的函数如下所示:

$id = $_POST['id'];
    $datein = $_POST['start'];
    $dateout = $_POST['end'];

    if (isset ($_POST['submit']))
    {
        $query="SELECT id FROM reservation BETWEEN datein >= $datein AND dateout <= $dateout";
        $q=mysql_fetch_array($query);
        if (mysql_num_rows()<1)
        {
         echo "not available. please pick another dates";
        } 
        else
        {
             echo "available. Please Next for make a reservation.";
        }
    }

我有一个界面,它有一个datein 选择器和dateout 选择器。用户将在两个日期之间进行选择。然后,他们将单击“检查可用性”按钮。它会显示该日期是否有寄宿家庭。如果不可用,用户将再次选择。如果可用,用户可以转到下一步。有预约单。

【问题讨论】:

  • 从mytable等中选择id、date1、date2等...
  • @MarcoMura 请原谅。你能解释更多吗?当用户单击可用性按钮时,它将显示日期是否可用。
  • 创建一个将获取数据的查询,然后填充 html,然后,当用户单击某些内容时,您可以显示这些数据。
  • @MiRa 可以解释一下吗?您的问题信息有限 - 您尝试了什么,发生了什么?
  • @James 编辑了问题

标签: php mysql sql


【解决方案1】:

不应该这样:

if (mysql_num_rows()<1)

替换为:

if (mysql_num_rows()>0)

【讨论】:

  • 您正在查询餐桌预订。如果我没记错的话,如果你在这几天之间找到任何记录,那么房间是不可用的。因此,如果您发现任何记录 (num_rows>0),则该房间不可用。我老了?
  • 在不知道他们遇到的实际问题的情况下,我只能说你的逻辑是合理的。
  • 那么我不明白反对票。希望它对提出问题的人有所帮助。
  • 反对票在那里,因为除非编辑答案,否则我无法删除它。
猜你喜欢
  • 2012-09-24
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多