我有一个游戏,你可以出价的房子。这很简单。我有两张桌子
Table: houses
id | name | owner_id和
Table: house_auctions
id | house_id | current_bid | bidder | enddate现在,如果有人想出价,我只是检查提交的出价是否大于current_bid。如果是,我更新current_bid并将投标人设置为出价的人。然后一周后,无论是谁的ID,在投标人我更新为owner_id的房子表。我不关心显示出价的历史。我不需要那个。
因此,虽然这工作很好,但我希望有一个功能,就是让用户有一个限制。就像他对一栋房子下了5美元的标价,然后把他的上限设为50美元。然后,如果其他人来了,并提出了35美元的出价,那么我不想接受他的出价,但谁设置了50美元的限制36美元的地方。
我该怎么做呢?我意识到我需要第三张桌子。我可以有一些关于模式的提示吗?我也在使用PHP。
发布于 2013-06-15 18:56:12
我将添加一个包含所有出价的第三个表:
Table: house_auction_bids
id | house_auction_id | bid | bidder | date然后,您可以实现计算出价的逻辑。
发布于 2013-06-15 18:49:41
如果你不关心历史,难道你不能添加一列第二高的最高出价,那么当前的出价列实际上就是当前获胜者的最高出价。显示的当前出价不需要存储,因为它只是(第二高出价+ 1)
发布于 2013-06-15 18:59:04
我刚刚考虑过这一点,我建议您在每次用户出价时添加一个数据集house_auctions。你不能改变现有的,你要添加一个新的。
然后,您可以选择house_id的current_bid的最大值,然后您可以获得当前的最大出价。
要实现bid_limit的原则,您只需将限制输入为current_bid,然后查询房屋的两个最高出价,当前房屋的价格是较低的价格+ 1。
https://stackoverflow.com/questions/17122794
复制相似问题