ホームページ > バックエンド開発 > PHPチュートリアル > PHP は、知識の質問と回答の Web サイトにユーザーのアクティビティと貢献の統計関数を実装します。

PHP は、知識の質問と回答の Web サイトにユーザーのアクティビティと貢献の統計関数を実装します。

WBOY
リリース: 2023-07-02 10:52:01
オリジナル
1571 人が閲覧しました

PHP は、知識質問 Web サイトにおけるユーザーのアクティビティと貢献度の統計機能を実現します。

知識質問 Web サイトの台頭により、ますます多くの人がそのようなプラットフォーム上でさまざまな情報を取得し、共有する傾向にあります。知識。ユーザーのアクティビティを増やし、ユーザーがより多くの貢献をするよう促すために、Web サイト上のアクティビティ データをカウントすることで、ユーザーのアクティビティと貢献を評価できます。この記事では、PHP を使用してこの機能を実装する方法について説明します。

まず第一に、ユーザーのアクティビティと貢献の概念を理解する必要があります。ユーザーアクティビティとは、一定期間内にWebサイト上で質問の投稿、質問への回答、「いいね!」、コメントなどのアクティビティを行ったユーザーの頻度と数を指します。貢献とは、質問への回答、問題の解決、質の高い質問の投稿など、Web サイト上でユーザーが行った特定の貢献を指します。

実装では、ユーザー アクティビティを、質問の投稿、質問への回答、いいね、コメントなどを含む、過去 1 か月間のアクティビティの頻度として定義します。貢献度は、Web サイト上でユーザーが投稿および回答した質問の合計数です。

まず、ユーザー ID、ユーザー名などのユーザーの基本情報を保存するユーザー テーブルが必要です。 users というデータベーステーブルを作成し、その中に対応するフィールドを作成します。

CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL ,
email varchar(255) NOT NULL,
created_at datetime NOT NULL,
主キー (id)
) ;

次に、ユーザー ID、アクティビティ タイプ、アクティビティ時間などを含む、ユーザーのアクティビティ情報を記録するアクティビティ テーブルが必要です。 activity というデータベース テーブルを作成し、その中に対応するフィールドを作成します。

CREATE TABLE activities (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL ,
activity_type varchar(255) NOT NULL,
created_at datetime NOT NULL,
主キー (id)
) ;

ユーザーがアクティビティを実行すると、それに応じてアクティビティ テーブルにレコードを挿入する必要があります。たとえば、ユーザーが質問を投稿するときに、次のコードを実行できます:

$user_id = $_SESSION['user_id']; // 現在のユーザー ID を取得します
$activity_type = 'question' ; // アクティビティ タイプは問題 release
$created_at = date('Y-m-d H:i:s'); // 現在時刻

$sql = "INSERT INTO アクティビティ (user_id, activity_type, created_at)

      VALUES ('$user_id', '$activity_type', '$created_at')";
ログイン後にコピー

$query = mysqli_query($conn, $sql); //レコード挿入操作を実行します

同様に、ユーザーが質問、いいね、またはコメントに回答したときにも、同様の操作を実行する必要があります。 code.

次に、ユーザーのアクティビティと貢献をカウントする関数を記述する必要があります。get_user_activity() という名前の関数を作成して、先月のユーザーのアクティビティ記録をクエリできます。

function get_user_activity($user_id) {
$past_month = date('Y-m-d', strtotime('-1 month')); // 1 か月前の日付を取得します

$sql = " SELECT count(*) as activity_count

      FROM activities 
      WHERE user_id = $user_id 
      AND created_at >= '$past_month'";
ログイン後にコピー

$query = mysqli_query($conn, $sql);
$result = mysqli_fetch_assoc($query);

return $result['activity_count ' ];
}

さらに、get_user_contribution() という関数を作成して、Web サイト上でユーザーが投稿および回答した質問の総数をクエリすることもできます。

function get_user_contribution($user_id) {
$sql = "SELECT count(*) ascontribution_count

      FROM activities 
      WHERE user_id = $user_id 
      AND (activity_type = 'question' OR activity_type = 'answer')";
ログイン後にコピー

$query = mysqli_query($conn, $sql);
$ result = mysqli_fetch_assoc($query);

return $result['contribution_count'];
}

上記のコードを通じて、ページ内でこれら 2 つの関数を呼び出してユーザーを取得できます。アクティビティと貢献.

$user_id = $_SESSION['user_id']; // 現在のユーザー ID を取得します

// ユーザー アクティビティを取得してページに表示します
$ user_activity = get_user_activity($user_id);
echo "ユーザー アクティビティ:" . $user_activity;

// ユーザーの投稿を取得してページに表示します
$user_contribution = get_user_contribution($user_id );
echo "ユーザー コントリビューション:" . $user_contribution;

上記の手順により、知識の質問と回答の Web サイトにユーザー アクティビティとコントリビューション統計関数を実装するための PHP コードが完成しました。

要約すると、知識質問と回答 Web サイトでのユーザーのアクティビティ データをカウントすることで、ユーザーのアクティビティと貢献度を評価できます。ユーザーが Web サイト上の Q&A アクティビティにもっと積極的に参加するよう奨励します。これは、Web サイトのアクティビティとユーザー エクスペリエンスを向上させる上で非常に重要です。

以上がPHP は、知識の質問と回答の Web サイトにユーザーのアクティビティと貢献の統計関数を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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