优惠券代码统计


coupon code statistics

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

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

我现在的想法是将优惠券插入到表中,然后是select count(*),如果它达到50,那么我不插入,并返回一条消息说它已过期。

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

我假设您有优惠券存储在某个表中,其中包含代码、描述等。为其添加num_used列,并在每次使用优惠券时增加它。这样,如果需要的话,您仍然可以将优惠券插入订单中,但您不需要进行计数。当你加载优惠券信息时,你只需检查它已经使用了多少次。我猜你是通过优惠券代码来检查有效性的,所以再加一个。

您可以将优惠券代码"附加"到一个订单上。

示例(适用于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次)。