0

シナリオ: ユーザーが画像に投票できる優れたスクリプトを作成しましたが、POST にフェイルセーフを設定していないため、一部のユーザーはブラウザーを更新して一度に複数回投票する方法を見つけてしまいます。 .

問題: テーブルをクリーンアップして票を減らし、少なくとも 1 時間の間隔が空くようにする必要があります。例えば:

photo_id voter_id date_vote
54321    123      28th june 2011 16h46 57s
54321    123      28th june 2011 16h47 12s <= delete 
54321    123      28th june 2011 16h47 35s <= delete   
54321    123      28th june 2011 16h47 52s <= delete   
54321    123      28th june 2011 16h48 22s <= delete 
...
54321    123      28th june 2011 17h47 05s <= keep

これは、1 つのクエリまたは連続したクエリの組み合わせによって可能でしょうか?

4

1 に答える 1

1

クリーンアップ後のアプローチを取るのではなく、過去1時間に一意の投票(photo_id、voter_id)が送信されたかどうかを最初に検出してみませんか。そうでない場合は、レコードを追加します。そうでない場合は、レコードを追加せず、投票の合間に1時間待つ必要があることをユーザーに通知します。

于 2011-06-28T14:55:56.727 に答える