0

私は、ユーザーが賛成または反対の投票が可能な投稿を送信するWebサイトを持っています。

現時点では、すべての投稿から獲得したユーザーの合計ポイントは保存されません。

これを行うための最良/一般的な方法は何ですか?RedditやStackOverflowのようなサイトはどのようにそれを行いますか?

誰かが投稿に投票するたびに、合計ユーザーポイントを加算および減算する必要があります。

4

3 に答える 3

0

これは毎回更新する必要があります。ユーザーエクスペリエンスを向上させるためにajaxを使用してください。基本的なチュートリアルは次のとおりですhttp://www.w3schools.com/php/php_ajax_poll.asp

于 2012-06-11T16:53:27.120 に答える
0

それは多くの方法で行うことができます1つはHabeebによって述べられていますしかし、stackoverflowのように賛成したすべての情報を保存したい場合は、2つのテーブルを作成して投稿のIDを保存し、もう1つは投稿に賛成したユーザーを保存しますテーブルは

POST                                      Upvote
Id     POST                              Id      User_id
  1. これで、誰かが賛成票を投じたときに、テーブルPOSTのIDを参照する新しいレコードをテーブル賛成票に追加するだけです。
  2. データを取得するときは、SQLの左結合メソッドが必要になります
于 2012-06-11T16:59:59.377 に答える
0

すべての投稿に対するユーザーごとの投票の合計の結果をキャッシュし、ユーザーが新しい投票を獲得したときに各ユーザーのキャッシュを無効にするか、データベースに合計数を保存して、賛成または反対の投票が実行されるようにすることができます。合計も更新するトランザクションとして。

これをキャッシュを使用して行うか、MySQLで追加のテーブルを使用して行うか(テーブルに配置することはお勧めしませんusers)は、サイトの規模と投票で何をしたいかによって異なります。

于 2012-06-11T17:00:47.007 に答える