0

我有一个游戏,您可以在其中竞标房屋。它非常简单。我有两张桌子

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 美元,那么我不想接受他的出价,而是将 36 美元的价格设置为 50 美元。

我该怎么做?我意识到我需要第三张桌子。我可以提供一些关于架构的提示吗?我也使用 PHP。

4

3 回答 3

1

我会添加所有出价的第三个表格:

Table: house_auction_bids

id | house_auction_id | bid | bidder | date

然后您可以实现计算出价的逻辑。

于 2013-06-15T10:56:11.790 回答
0

如果您不关心历史,您不能只添加第二高最高出价的列,然后当前出价列实际上是当前获胜者的最高出价。显示的当前出价不需要存储,因为它只是(第二高出价 + 1)

于 2013-06-15T10:49:41.367 回答
0

我刚刚考虑过这一点,我建议您在每次用户出价时添加一个数据集 house_auctions。你不改变现有的,你添加一个新的。

然后,您可以选择 house_id 的 current_bid 的最大值,并以此获得当前的最高出价。

要实现bid_limit的原理,只需输入limit作为current_bid,然后查询房子的两个最高出价,房子当前的价格是较低的价格+1。

于 2013-06-15T10:59:03.680 回答