Статистика купонного кода
У меня есть система, которая позволяет пользователям вводить купоны (например, как dell или amazon)
Я хочу знать, сколько купонов было использовано, поэтому после 500 раз купон больше не действует.
Как я сейчас думаю, нужно вставить купон в таблицу, а затем select count(*)
, и если он достигнет 50, тогда я не вставляю и возвращаю сообщение о том, что оно истекло.
Я думаю, что это решение работает, но я хотел проверить и, возможно, проверить, есть ли лучший способ сделать это.
Ответы
Ответ 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).