Mysql和PHP中的巴士座位预订

时间:2018-07-31 20:25:48

标签: php mysql mysqli phpmyadmin

我正在开发公交车预订系统,但我对如何实现这种情况感到困惑。

我将使用这个有趣的国家示例,以便您了解一个想法。

巴士的主要路线是从美国到中国,但有一些停靠站,例如英国,印度和俄罗斯。

主要路线 美国到中国

子路线 美国到英国 英国到印度 印度飞往俄罗斯 俄罗斯飞往中国

我需要帮助的逻辑是

  1. 如果来自美国和英国境外的乘客板坐在A1座位上,那么当另一个乘客想要预订从英国到印度或俄罗斯的同一座位A1时,我应该使用什么逻辑?
  2. 我需要建议从英国到中国预订B1座位时应该使用哪种逻辑,当从印度和俄罗斯到中国的乘客向他们证明预订B1座位时应该使用什么逻辑。

我整天试图集思广益,没有取得任何成功。需要帮助的人。

1 个答案:

答案 0 :(得分:0)

与其将预订视为整个行程,不如将预订视为旅行的每一步。

让我们说您的巴士路线是:美国到俄罗斯到中国到英国到印度。如果我预定了从美国到印度的座位,那么在您的系统中,请像在同一座位上预定4次旅行一样。

有人可能会预订B1英格兰到印度,然后,如果我希望B1到美国到印度,我应该能够看到它仅适用于美国到英国。我需要为英国和印度预订一个不同的座位,或者如果座位满了,则要在另一天去。

这是一个非常非常非常基本的数据库概念:

  • 提示:有很多步骤
  • id,名称,日期

  • steps_trips:查找表

  • id,step_id,trip_id

  • 步骤:多次旅行

  • id,起点,终点,开始时间,结束时间

  • busses_steps:查找表

  • id,buss_id,step_id

  • 公共汽车:有很多座位,有很多台阶

  • id,名称,vin

  • 座位:属于公共汽车

  • id,名称,buss_id

因此,这里的想法是您可能有多条总线在运行数条不同的路线。旅行者可以选择一个旅程,然后您的系统可以根据可用性和时间选择公共汽车和座椅。

这是一个非常复杂的问题,因此我建议从小处着手。您将需要一种方法来处理保留的座位和取消座位,并且以某种方式在系统中以可视方式显示可用的座位也是个好主意。