-3

ユーザーが 1 ~ 5 のスケールで画像をランク付けできる PHP ランキング システムを構築しようとしています。

画像のランク付け方法に応じて、ランキング (ランク番号) での位置が決まります。ランクは、ユーザーから受け取るさまざまな評価に応じて変更する必要があります。

その一例がランキングシステムです。http://www.newgrounds.com/portal/view/601966 (右側、ページ下部)

これを達成するのに役立つ情報を探しているだけです。

ありがとう。

4

2 に答える 2

1

votes というテーブルを作成し、それを images テーブルに関連付けます。

投票:

投票_id INT(11) PK

ユーザー ID INT(11)

image_id INT(11)

スコア TINYINT(1)

于 2012-09-05T08:59:27.453 に答える
1

以下に、知っておく必要のある事項をいくつか示します。

データベースが必要です。データベースでは、ランク付けする各画像を保存する必要があります。これは、「画像」と呼ばれるテーブルで行います。このテーブルでは、各イメージに「自動インクリメント」主キーを指定します。(これは、データベースに追加する新しい行ごとに、主キーが前の行から自動的に +1 になることを意味します)。これは、各画像の横に一意の行番号があり、その特定の行を識別することを意味します。この列を呼び出しますid。(列の他の表で参照しますimage_id)。

次に、「votes」というテーブルが必要です。このテーブルには、必要なあらゆる種類の情報を格納できますが、格納する必要があるのは、"images" テーブルからの一意の画像番号と、誰かが投じた投票の値だけです。次のような結果になります。

image_id | vote_value
1        | 3
2        | 5
1        | 3
4        | 1
4        | 3

これで、この情報を照会してリーダーボードを取得できます。クエリは次のようになります。

SELECT image_id, SUM(vote_value) AS rank FROM votes GROUP BY image_id ORDER_BY rank;

これにより、ランク順に並べられた「image_id」のリストが表示されます(つまり、すべての投票の合計)。

次に、画像テーブルに戻り、その画像の情報をそのテーブルから取得できます。

SELECT name, url FROM images WHERE id=#image_id we got above#;

これがお役に立てば幸いです。:) 行き詰まった場合は、戻ってもう一度質問してください。

于 2012-09-05T09:07:35.590 に答える