0

これをどのように説明したらよいか 100% 確信が持てないので、ここで私が何をしているのかを簡単に説明します。私は、人々が「チャンピオン」に賛成または反対の投票をできる Web サイトを持っています。これらのチャンピオンは 100 のヘルスから始まります。特定のチャンピオンに賛成票を投じると、そのチャンピオンのヘルスは 101 になります。反対票を投じると、99 になります。

このサイトは現在 5 シーズン稼働しています (1200 人以上のメンバーがプレイしています)。そのため、一度に多くの投票が行われます。今はすべて正常に動作します。この次のシーズンでは、jQuery/getJSON/ajax を使用した「リアルタイム」投票を実装しています (投票のたびにページを更新する必要はありません)。

私は今、これが驚くほど機能しています(実際にはショックを受けています:P)1つの小さな詳細を除いて...「チャンピオン」のヘルスが1になり、複数の人が同時に「下の投票」をクリックすると、サーバーが起動しますそれを何度もオフにして、チャンピオンのヘルスを-1または任意の量にします。また、そのチャンピオンを排除した人と同時に DOWN をクリックした各人を (データベースの排除されたテーブルに) INSERTS します。

ここで何をすべきか本当にわかりません...しかし、これを十分に説明できれば幸いです。データベースに情報を挿入する php ファイルや jQuery 部分などのコードが必要な場合は、お知らせください。どんな助けでも大歓迎です!

4

1 に答える 1

2

この投稿に基づいたコードがすでにあるようです:link

あなたができることは次のとおりです。

  • UPDATE関数を変更して、最初にユーザーの健康状態を選択します。次に、実際に> 0の場合にのみ更新します。<1の場合は、-1での事故を防ぐために、これも0に設定することを決定できます。それでも偶然に起こった場合は、元に戻します。しかし、そのチャンチは非常に小さいです。
  • 削除されたテーブルに対してINSERTを実行するときは、そのレコードがまだそこに存在していないかどうかを確認してください。そうでない場合は、挿入します。追加のチェックとして、誤って発生した場合に重複を削除できます。これにより、複数の人が同じ人を排除することを防ぐことができます(これは不可能に聞こえます)。
于 2012-01-17T09:38:47.480 に答える