Подтвердить что ты не робот

Статистика купонного кода

У меня есть система, которая позволяет пользователям вводить купоны (например, как dell или amazon)

Я хочу знать, сколько купонов было использовано, поэтому после 500 раз купон больше не действует.

Как я сейчас думаю, нужно вставить купон в таблицу, а затем select count(*), и если он достигнет 50, тогда я не вставляю и возвращаю сообщение о том, что оно истекло.

Я думаю, что это решение работает, но я хотел проверить и, возможно, проверить, есть ли лучший способ сделать это.

4b9b3361

Ответ 1

Я предполагаю, что у вас есть купоны, хранящиеся в какой-либо таблице с кодом, описанием и т.д. и т.д. добавьте к нему столбец num_used и увеличивайте его каждый раз, когда используется купон. Таким образом, вы можете поместить купон в заказы, если нужно, но вам не нужно делать подсчеты. Вы просто проверяете, сколько раз оно уже использовалось при загрузке вашей информации о купонах. Я предполагаю, что вы все равно проверяете валидность по коду купона, поэтому бросайте еще один раз за несколько раз.

Ответ 2

Вы можете "прикрепить" код купона к одному заказу.

Пример (для вашей таблицы заказов mysql): закажите ABC купон "Купон1" заказ BCD использовать купон "Купон1"

И тогда да, вы можете использовать такую ​​функцию, как этот:

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).