Maison  >  Article  >  développement back-end  >  PHP implémente des fonctions de statistiques sur l'activité des utilisateurs et les contributions dans le site Web de questions et réponses de connaissances.

PHP implémente des fonctions de statistiques sur l'activité des utilisateurs et les contributions dans le site Web de questions et réponses de connaissances.

WBOY
WBOYoriginal
2023-07-02 10:49:181555parcourir

PHP implémente les fonctions statistiques de l'activité et de la contribution des utilisateurs dans les sites Web de questions et réponses de connaissances

Avec l'essor des sites Web de questions et réponses de connaissances, de plus en plus de personnes ont tendance à obtenir et à partager diverses connaissances sur ces plateformes. Afin d'augmenter l'activité des utilisateurs et d'encourager les utilisateurs à apporter davantage de contributions, nous pouvons évaluer leur activité et leur contribution en comptant leurs données d'activité sur le site Web. Cet article explique comment implémenter cette fonctionnalité en utilisant PHP.

Tout d'abord, nous devons comprendre les concepts d'activité et de contribution des utilisateurs. L'activité des utilisateurs fait référence à la fréquence et au nombre d'utilisateurs qui publient des questions, répondent à des questions, aiment, commentent et autres activités sur le site Web au cours d'une certaine période de temps. La contribution fait référence aux contributions spécifiques apportées par les utilisateurs sur le site Web, telles que répondre à des questions, résoudre des problèmes, publier des questions de haute qualité, etc.

Dans notre implémentation, nous définissons l'activité des utilisateurs comme la fréquence des activités au cours du mois dernier, y compris la publication de questions, la réponse à des questions, les likes, les commentaires, etc. La contribution est le nombre total de questions publiées et auxquelles les utilisateurs ont répondu sur le site Web.

Tout d'abord, nous devons disposer d'une table utilisateur pour stocker les informations de base de l'utilisateur, telles que l'ID utilisateur, le nom d'utilisateur, etc. Nous pouvons créer une table de base de données appelée utilisateurs et y créer les champs correspondants.

CREATE TABLE users (users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
email varchar(255) NOT NULL,
created_at datetime NOT NULL,
PRIMARY KEY (id)
);

接下来,我们需要有一个活动表来记录用户的活动信息,包括用户ID、活动类型和活动时间等。我们可以创建一个名为 activities 的数据库表,并在其中创建相应的字段。

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,
PRIMARY KEY (id id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,

email varchar(255) NOT NULL,

created_at datetime NOT NULL,

PRIMARY KEY (id)

);

Ensuite, nous devons avoir un La table d'activité enregistre les informations sur l'activité de l'utilisateur, notamment l'ID utilisateur, le type d'activité, la durée de l'activité, etc. Nous pouvons créer une table de base de données appelée activités et y créer les champs correspondants.

CREATE TABLE activités (

id int(11) NON NULL AUTO_INCREMENT,

user_id int(11) NON NULL,

Activity_type varchar(255) NOT NULL,

created_at datetime NOT NULL,

PRIMARY KEY (id)

);

Lorsque l'utilisateur effectue l'activité, nous Un enregistrement doit être inséré dans la table active en conséquence. Par exemple, lorsqu'un utilisateur publie une question, nous pouvons exécuter le code suivant :

$user_id = $_SESSION['user_id']; // Récupère l'ID de l'utilisateur actuel

$activity_type = 'question'; // Le type d'activité; est la publication d'une question

$created_at = date('Y-m-d H:i:s'); // Heure actuelle


$sql = "INSERT INTO Activities (user_id,activity_type,created_at)

      VALUES ('$user_id', '$activity_type', '$created_at')";

$query = mysqli_query($conn, $sql); / / Exécuter l'opération d'insertion d'enregistrement

De même, nous devons également exécuter un code similaire lorsque l'utilisateur répond à une question, aime ou commente

Ensuite, nous devons écrire une fonction pour compter l'activité et la contribution de l'utilisateur. Créez une fonction nommée get_user_activity() pour interroger les enregistrements d'activité de l'utilisateur au cours du mois dernier


function get_user_activity($user_id) {

$past_month = date('Y-m-d', strtotime('-1month') ); Obtenez la date il y a un mois


$sql = "SELECT count(*) asactivity_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'];

}

De plus, nous pouvons également créer une fonction appelée get_user_contribution() pour interroger le nombre total de questions publiées et auxquelles les utilisateurs ont répondu sur le site Web.


function get_user_contribution($user_id) {
$sql = "SELECT count(*) as contribution_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'];

}

Avec le code ci-dessus, nous pouvons appeler ces deux fonctions sur la page pour obtenir l'activité et la contribution de l'utilisateur

🎜$user_id = $_SESSION['user_id']; ID utilisateur actuel🎜🎜// Récupérez l'activité de l'utilisateur et affichez-la sur la page🎜$user_activity = get_user_activity($user_id);🎜echo "Useractivity:" $user_activity;🎜🎜// Récupérez la contribution de l'utilisateur et affichez-la sur. la page Sur la page 🎜$user_contribution = get_user_contribution($user_id);🎜echo "Contribution utilisateur :" $user_contribution;🎜🎜Grâce aux étapes ci-dessus, nous avons complété le PHP qui implémente les fonctions de statistiques d'activité et de contribution des utilisateurs dans la question de connaissances. et répondre au code du site Web. Nous pouvons l'étendre si nécessaire et ajuster la plage horaire et le type d'activité en fonction de la situation réelle. 🎜🎜En résumé, en comptant les données d'activité de l'utilisateur sur le site Web de questions-réponses, nous pouvons évaluer l'activité et la contribution de l'utilisateur. Encouragez les utilisateurs à participer plus activement aux activités de questions-réponses sur le site Web, ce qui est d'une grande importance pour améliorer l'activité du site Web et l'expérience utilisateur 🎜.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn