优惠码统计

问题描述 投票:0回答:3

我有一个允许用户输入优惠券的系统(例如戴尔或亚马逊)

我想知道优惠券已经使用了多少,所以使用了500次后优惠券就不再有效了。

我现在的想法是,将优惠券插入表中,然后

select count(*)
,如果达到 50,则我不插入,并返回一条消息说它已过期。

我认为这个解决方案有效,但我想验证一下,也许检查是否有更好的方法。

php mysql insert
3个回答
21
投票

我假设您在某个表中存储了优惠券,其中包含代码、描述等。向其中添加 num_used 列,并在每次使用优惠券时递增它。这样,如果需要,您仍然可以将优惠券插入订单中,但无需进行计数。您只需在加载优惠券信息时检查已使用了多少次即可。我假设您无论如何都会通过优惠券代码检查有效性,因此多次投入另一个优惠券代码。


0
投票

您可以将优惠券代码“附加”到一个订单中。

示例(对于您的 mysql 订单表): 订购 ABC 使用优惠券“Coupon1” 订购BCD使用优惠券“Coupon1”

然后,是的,你可以使用这样的函数:

function getCouponUsage($a_couponCode){
  $res = mysql_query("SELECT couponCode FROM orders WHERE coupon = '$a_couponCode'") or die(mysql_error());
  return mysql_num_rows($res);
}

该函数将返回一个整数。只需与您的极限进行比较即可。

您还可以设置点击计数器。假设优惠券可以使用500次,当有人使用优惠券时,你删除一张优惠券,这样总数就是499(优惠券从现在开始可以使用499次)。


0
投票

这是一篇内容非常丰富的帖子。但其中一个主题不清楚

© www.soinside.com 2019 - 2024. All rights reserved.