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,
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,
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 :
$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
function get_user_activity($user_id) {
$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);
}
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!