ホームページ バックエンド開発 PHPチュートリアル PHP を使用して、知識質疑応答 Web サイトのユーザー ポイント ランキングおよびランキング機能を開発します。

PHP を使用して、知識質疑応答 Web サイトのユーザー ポイント ランキングおよびランキング機能を開発します。

Jul 01, 2023 pm 08:25 PM
PHP開発 トリビアのウェブサイト ユーザーポイントランキング

PHP を使用して知識 Q&A Web サイトのユーザー ポイント ランキングとランキング機能を開発する

インターネットの発展に伴い、知識 Q&A Web サイトは人々が情報を入手する重要な方法の 1 つになりました。知識を持ち、問題を解決します。このようなWebサイトにおいては、ユーザーのQ&A活動への積極的な参加を促し、Webサイトの活性化を図るために、ユーザーポイントランキングやランキング機能は非常に重要です。この記事では、PHP を使用して知識 Q&A サイトのユーザー ポイント ランキングとランキング関数を開発し、対応するコード例を示します。

ユーザーポイントランキングは、Q&A活動でユーザーが獲得したポイントをもとにランキングされており、ポイントが高いユーザーほど上位となります。ランキング機能により、ユーザーのポイントランキングを表示することができ、ユーザーがWebサイト内でのステータスを把握することができます。

1. データベースの設計

まず、データベース内のユーザー テーブルとポイント テーブルを設計する必要があります。ユーザーテーブルにはユーザーの基本情報が格納され、ポイントテーブルにはユーザーが質疑応答で獲得したポイントレコードが格納されます。

ユーザー テーブルの構造は次のとおりです:

1

2

3

4

5

6

7

8

CREATE TABLE `users` (

  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

  `name` varchar(50) NOT NULL,

  `email` varchar(50) NOT NULL,

  `password` varchar(255) NOT NULL,

  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ログイン後にコピー

ポイント テーブルの構造は次のとおりです:

1

2

3

4

5

6

7

8

9

CREATE TABLE `scores` (

  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

  `user_id` int(11) unsigned NOT NULL,

  `score` int(11) NOT NULL,

  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),

  PRIMARY KEY (`id`),

  KEY `user_id` (`user_id`),

  CONSTRAINT `scores_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ログイン後にコピー

2. ポイントの計算とランキングの更新

Q&A アクティビティのユーザー ポイントを取得したら、ポイントを計算し、ユーザーのランキングを更新する必要があります。

まず、ユーザーのポイントを計算する関数を作成します。サンプル関数を次に示します。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

function calculateScore($user_id, $score)

{

    // 将用户积分插入积分表

    $insertQuery = "INSERT INTO scores (user_id, score) VALUES ($user_id, $score)";

    // 执行插入操作...

 

    // 查询用户总积分

    $query = "SELECT SUM(score) as total_score FROM scores WHERE user_id = $user_id";

    // 执行查询操作...

 

    // 更新用户总积分和排名

    $updateQuery = "UPDATE users SET total_score = $total_score WHERE id = $user_id";

    // 执行更新操作...

 

    // 更新用户排名

    $updateRankQuery = "SET @rank := 0;";

    $updateRankQuery .= "

        UPDATE users SET rank = (@rank := @rank + 1) ORDER BY total_score DESC;

    ";

    // 执行更新操作...

}

ログイン後にコピー

上記のコードでは、まずユーザーのポイントをポイント テーブルに挿入します。次に、ユーザーの合計ポイントをクエリし、ユーザーの合計ポイントとランキングを更新します。最後に、変数 @rank を使用してユーザーのランキングをマークし、すべてのユーザーのランキングを更新します。

3. ランキングの表示

ユーザーのランキングを表示するには、ユーザーのランキング リストをクエリする関数を作成します。サンプル関数を次に示します。

1

2

3

4

5

6

function getRankings()

{

    $query = "SELECT name, total_score, rank FROM users ORDER BY rank";

    // 执行查询操作...

    // 输出排行列表...

}

ログイン後にコピー

上記のコードでは、users テーブルにクエリを実行し、ユーザーの名前、合計ポイント、およびランク順のランキングを返します。

4. 呼び出し例

以下は、上記の関数を使用してユーザーポイントランキングとランキング機能を実現する例です:

1

2

3

4

5

// 用户获得积分后调用计算和更新积分函数

calculateScore($user_id, $score);

 

// 显示用户的排行

getRankings();

ログイン後にコピー

サンプル関数を呼び出すことで、ユーザーポイントの計算、ユーザーランキングの更新、ユーザーランキング一覧の表示を行うことができます。

概要:

この記事では、PHP を使用して、知識の質問と回答の Web サイトでユーザー ポイント ランキングとランキング関数を開発する方法を紹介します。まず、ユーザーテーブルとポイントテーブルのデータベース構造を設計しました。次に、ポイントを計算し、ランキングを更新し、ランキング リストを表示するための対応する関数を作成しました。これらの関数を呼び出すことで、ユーザーポイントランキングやランキング機能を実装できます。この記事が、同様の Web サイトでポイント システムを開発する際の参考になれば幸いです。

以上がPHP を使用して、知識質疑応答 Web サイトのユーザー ポイント ランキングおよびランキング機能を開発します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP を使用して独自のフォーラム Web サイトを開発する方法を段階的に説明します。 PHP を使用して独自のフォーラム Web サイトを開発する方法を段階的に説明します。 Oct 28, 2023 am 08:23 AM

PHP を使用して独自のフォーラム Web サイトを開発する方法を段階的に説明します。

PHP開発でMemcacheを使用するにはどうすればよいですか? PHP開発でMemcacheを使用するにはどうすればよいですか? Nov 07, 2023 pm 12:49 PM

PHP開発でMemcacheを使用するにはどうすればよいですか?

PHP を使用してホテル予約 Web サイトを開発する方法 PHP を使用してホテル予約 Web サイトを開発する方法 Oct 28, 2023 am 08:19 AM

PHP を使用してホテル予約 Web サイトを開発する方法

PHPキャッシュ開発で検索エンジンのランキングを向上させる方法 PHPキャッシュ開発で検索エンジンのランキングを向上させる方法 Nov 07, 2023 pm 12:56 PM

PHPキャッシュ開発で検索エンジンのランキングを向上させる方法

PHPを使用してオンライン家庭教師サービスプラットフォームを開発する方法 PHPを使用してオンライン家庭教師サービスプラットフォームを開発する方法 Oct 28, 2023 am 09:01 AM

PHPを使用してオンライン家庭教師サービスプラットフォームを開発する方法

PHP を使用して食料品ショッピング システムの会員ポイント機能を開発するにはどうすればよいですか? PHP を使用して食料品ショッピング システムの会員ポイント機能を開発するにはどうすればよいですか? Nov 01, 2023 am 10:30 AM

PHP を使用して食料品ショッピング システムの会員ポイント機能を開発するにはどうすればよいですか?

PHP 開発でバージョン管理とコードコラボレーションを実装するにはどうすればよいですか? PHP 開発でバージョン管理とコードコラボレーションを実装するにはどうすればよいですか? Nov 02, 2023 pm 01:35 PM

PHP 開発でバージョン管理とコードコラボレーションを実装するにはどうすればよいですか?

PHPを使って発注システムのクーポン機能を開発するにはどうすればよいですか? PHPを使って発注システムのクーポン機能を開発するにはどうすればよいですか? Nov 01, 2023 pm 04:41 PM

PHPを使って発注システムのクーポン機能を開発するにはどうすればよいですか?

See all articles