繁体   English   中英

座位巴士预订PHP和MySQL

[英]Seats Bus Booking PHP and MySQL

我有另一种情况。
我有27个座位的公共汽车
那么,如果人们选择座位4,那么没人会坐那个座位4。

我的问题:

  1. 设计数据库如何包含27个席位? 我猜想用PHP循环到27
  2. 表格如何显示,选择表格中包含未预定的座位?
  3. 如何防止其他人坐同一席位?

谢谢。

数据库:具有一个BusType表,其属性将包括座位数,费用等。 拥有一个BusBookedSeats表,该表将保持与所讨论的巴士的FK关系,并保持其剩余和/或预订的座位总数。

表格:查询数据库并获取总座位数-已预订的座位数。 添加进一步的验证以显示座位的位置。

预防措施:如果查询返回的值大于0(在这种情况下表示“接受”),则警告用户已采取该方法,并告知他们改坐其他席位。 甚至不向他们展示座位。

对于您的数据库:

  1. 您有一张桌子,上面有公共汽车和可用的座位号
  2. 您有一张预订桌
  3. 您有一张桌子,它与特定巴士上特定座位的预订有关系

如何显示可用座位:

  1. 查询所有预留座位
  2. 画一张公交车的照片并标记所有保留的座位

如何防止重复预订:您需要某种交易程序,但是很难告诉您何时锁定座位以及何时解锁(例如,用户一段时间未响应)。 通常,您仅在最后一步保留它。 因此,确保您没有太多步骤,或者确保选择是最后一步之一,所以可以减少冲突的数量。

这些确实只是一些非常基本的技巧,但是整个问题太复杂了,简而言之。 如果您有任何特定问题,则可能需要单独询问。

从数据库角度来看,根据我对您的要求的了解,我会在以下几行中提出一些建议:

  1. 总线表-包含每个单独总线的条目。 有一列指示此巴士的座位容量。

  2. 用户表-包含每个可以预订公交车座位的用户的条目。

  3. BusUser Table-交易表,其中包含公共汽车的座位记录,例如:如果公共汽车X的座位数为27 =座位数,则该表将具有27条记录-每个记录都具有与之相关的相应座位号。

从UI角度,您将显示总线用户内容。 当用户选择UI上的记录之一时,会将用户与BusUser表中的该记录相关联。 BusUser-将具有一列,指示与该总线实例关联的用户。

多数民众赞成。 希望能为您提供一些指导。

确保您具有某种主键,其中涉及总线离开的时间等,以及每条总线的唯一标识符(复合主键)。 您只能拥有公交车的唯一标识符,因为这将限制每辆公交车只能乘坐一次:)

我认为巴士的27个座位应由您的应用程序处理。 也许,为每辆公共汽车先插入27行,并在有人预定座位时更新。 这样,您可以让用户也许也选择他们想要的座位。 (应该通过您的GUI完成)。

当然,您应该为每个席位都有一个状态,您可以使用该状态来查找是否已预订。

这是一个非常基本的想法,我没有提供任何图表或类似的东西。 希望我不会破坏您自己设计数据库的机会:)

在Sane中建议使用数据库谎言是一个好主意。 停止重复预订确实没有那么困难-您只需要选择一种方法即可。

  1. 排队系统-当人们点餐时,您可以将他们添加到队列的尾部,然后使用单独的脚本将人们从头顶拉开。 这样您就可以稳定地评估每个订单了。

  2. 数据库级别-如果要使用MySQL,则最好使用支持事务的InnoDB之类的引擎(简介: http : //www.databasejournal.com/features/mysql/article.php/3382171/Transactions -in-MySQL.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM