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

WBOY
リリース: 2023-07-01 20:26:01
オリジナル
1371 人が閲覧しました

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

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

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

1. データベースの設計

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

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

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;
ログイン後にコピー

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

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 アクティビティのユーザー ポイントを取得したら、ポイントを計算し、ユーザーのランキングを更新する必要があります。

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

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. ランキングの表示

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

function getRankings() { $query = "SELECT name, total_score, rank FROM users ORDER BY rank"; // 执行查询操作... // 输出排行列表... }
ログイン後にコピー

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

4. 呼び出し例

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

// 用户获得积分后调用计算和更新积分函数 calculateScore($user_id, $score); // 显示用户的排行 getRankings();
ログイン後にコピー

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

概要:

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!