【问题标题】:php limit active database entriesphp限制活动数据库条目
【发布时间】:2014-01-31 10:43:41
【问题描述】:

我目前正在制作一些 php 脚本,这些脚本可以让客人在酒店预订房间

我目前有这些房间以及可以预订的数量限制。

2人分床限制:11
2 人双人床限制:11
套房限制:1
蜜月套房限制:1

在 mysql 中,我设置了两个表,它们之间存在关系:

预订
身份证件
从_日期
迄今为止 厘米

房间
2ps独立床
2人双人床
套房
蜜月套房
bookings_idbookings(关系)

我怎样才能强制执行此限制,同时让所有信息保留在这些表中? 我想到了一个额外的列来检查预订是否有效。 或者如果有一个更简单的选择,如果要指出这一点,将不胜感激。 是否有一种方法可以在达到或超过 T_date 时将房间设置为非活动状态?

【问题讨论】:

  • 在预订 tbl 中添加字段为“noOfbookedRooms”

标签: php mysql datetime limit


【解决方案1】:

限制只是变量或常数。要在 PHP 中实现这一点,请声明 global variable 并将其值设置为限制

<?php

TWO_BED_LIMIT = 11
DOUBLE_BED_LIMIT = 11
…

?>

更好的方法是将这些值与房间类型一起存储在数据库本身中。然后,您可以读取这些值并将它们存储在一个变量中,然后对该变量执行您的逻辑。

【讨论】:

    【解决方案2】:

    除非您将一个人在酒店的所有夜晚都存储在一个表中,否则不可能在 SQL 中进行约束检查。

    可以这么说:

    房间:
    房间号
    房间类型
    room_cost

    预订:
    booking_id
    customer_id

    booking_nights:
    booking_id
    night_date
    room_id

    现在这是一个关系,您可以在其中查询所需的一切。晚数、价格、某晚预订了多少房间(以及哪些房间)等等。并且您可以通过在 table booking_nights 上设置三列主键来防止重复预订。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-26
      • 2013-12-02
      • 2012-01-09
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多