我应该如何实施这个信用体系?

时间:2011-09-28 13:56:12

标签: mysql database date date-range

我正在建立一个网站,家庭成员可以在家庭的海滨小屋预订度假。 每位会员每年获得40学分。会员必须有足够的信用积分来预订假期。 (这个信用体系确保每个成员都有平等的机会留在小屋) 但是,并非所有周都需要相同数量的信用积分,最后一分钟预订不需要积分。

我的问题是:我应该如何将积分存储在数据库中?什么是最有效的?每天/每对/每周?如何使用mysql有效地检查给定日期范围需要多少信用点?

BTW:我正在使用Zend Framework,我熟悉代码等,我只需要一些概念性的建议;)

2 个答案:

答案 0 :(得分:1)

我不知道我是否理解这里有问题但是:

  • 您需要在“用户”表中存储每个用户剩余的信用额度。
  • 你需要另一个表格,其中包含“开始时段”,“结束时段”,“持续时间”,“所需点数”等字段。
  • 在持续时间字段中,它可以是包含“day”,“week”,“last_minute”等值的枚举。

然后逻辑将出现在您的PHP代码中,但是当您想要使用小屋时,您将能够获得正确数量的信用。

答案 1 :(得分:0)

如果我理解你的情况,我想我会存储类似的东西:

  • 每位用户的剩余积分数
  • 每天默认的点数
  • 之前的天数算作“最后一分钟”
  • 信用成本偏离期(开始日期,结束日期,每日费用)

然后,无论何时用户需要预订,我都会根据这些信息计算动态预订的费用。最后一分钟预订规则可视为一个特殊的偏离期,其中现在开始日期,结束日期现在为+“天数”,成本为零。

我认为没有人会预订小屋的时间比一天短。如果他们愿意,我会将上面“天”的使用改为任何合理的时间单位。

只是我的想法。 : - )