2011-06-28 4 views
0

シナリオ:ユーザーが画像に投票できる優れたスクリプトを作成しましたが、POSTでフェールセーフを設定していないユーザーがいますブラウザをリフレッシュすることで、一度に複数の画像を投票する方法です。1時間以内に入力された投票を削除するための表を整理する

問題:少なくとも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つのクエリまたは連続するクエリの組み合わせによって可能ですか?

答えて

1

ポストクリーンアップ手法を採用するのではなく、過去1時間に一意の投票(photo_id、voter_id)が送信されたかどうかをまず検出してみませんか?そうでない場合は、レコードを追加します。レコードを追加しないで、投票の間隔を1時間待たなければならないことをユーザーに通知します。

+0

これは理想的で、後で私がやったことです。もし誰かが興味があればどこかでコードを投稿することができます。 –

+0

私は上記の問題に対する解決策を見つけました。 HOUR()などの時間間隔でグループ化することは可能です。これを使用するとLIMITを使用することができ、LIMITはレコードの一部を削除することを可能にします。 –