2011-11-22 10 views
20

私は、ユーザーが後に500倍クーポンが有効でなくなったので、私はクーポンが使用されてきたどのくらいかを知りたいクーポンコード統計は

(デルやAmazonのような、たとえば)クーポンを入力することができるシステムを持っています。

私が今考えているのは、クーポンをテーブルに入れてからselect count(*)にして50に達したら、挿入せずに期限切れだと言うメッセージを返します。

私はこの解決策はうまくいくと思いますが、私はそれを検証し、より良い方法があるかどうかをチェックしたいと思っていました。

+1

パートナーサイトで検証することなく、カウントのために統合するシステムは役に立たなくなります。 –

+0

ローレンスは正しいです。クーポンがあなたのサイトで使用されている場合を除き、正常に取引されたときにクーポンを受け取るクーポンを所持していないサイトでは、正しくカウントする方法はありません。しかし、紹介APIを設定していれば、それらをリレーショナルテーブルのリレーションとして保存して、重複した呼び出し、複雑な作業、またはデータの混乱を避けることができます。さらに、渡された情報を保存して、クーポンを使用したユーザーの詳細を知ることができます。標準的なマーケティング。 –

+0

はい私は言ったように:私はシステムを持っている...そしてユーザーは私のサイトでクーポンを使用する –

答えて

21

コード、説明などでいくつかのテーブルにクーポンが保存されていると仮定します。クーポンを使用するたびにnum_usedカラムを追加してインクリメントします。この方法では、必要な場合でもクーポンを注文に挿入することができますが、カウントを行う必要はありません。クーポン情報を読み込んだときに既に何回使用されたかを確認するだけです。とにかくあなたはクーポンコードで有効性をチェックすると思いますので、別のものを何度も投げてください。

+0

コードを詳しく説明できますか?私はその考えが好きです –

+0

確かに。過去に実装した割引については、id、code、description、type(x%off、$ y offなど)、is_limited、limit、num_used、applies_to)のクーポンテーブルを設定しました。必要に応じてクーポンを設定します。ユーザーがコードを入力すると、検証が実行されます。 1)コード有効 - はい/いいえ2)要求された製品に適用されます - はい/いいえ、3)制限付きクーポンです - はい、限界に達しました - はい/いいえ。あなたは必要に応じて洗練されたものにすることができます。検証が終わると、クーポン表のカウンターをインクリメントして、使用された#を記録します。 –

+0

ありがとうございました。 –

0

クーポンコードを1つのオーダーに「添付」することができます。

例(あなたが注文をMySQLのテーブル):

function getCouponUsage($a_couponCode){ 
    $res = mysql_query("SELECT couponCode FROM orders WHERE coupon = '$a_couponCode'") or die(mysql_error()); 
    return mysql_num_rows($res); 
} 
: 順ABC利用クーポン "Coupon1" ためBCD利用クーポン "Coupon1"

そして、はい、あなたはこの1つのような機能を使用することができます

この関数は整数を返します。あなたの限界とただ比較してください。

ヒットカウンタを設定することもできます。クーポンを500回使用できるとしましょう。誰かがクーポンを使用して1つを取り除くと、合計が499になります(クーポンは今から499回使用できます)。