PHP는 지식 질의응답 웹사이트에서 사용자 활동 및 기여도에 대한 통계 기능을 구현합니다.
지식 질의응답 웹사이트의 등장으로 이러한 플랫폼에서 다양한 지식을 얻고 공유하는 사람들이 점점 더 많아지고 있습니다. 사용자 활동을 늘리고 사용자가 더 많은 기여를 하도록 장려하기 위해 당사는 웹사이트에서 사용자의 활동 데이터를 계산하여 사용자의 활동과 기여도를 평가할 수 있습니다. 이 문서에서는 PHP를 사용하여 이 기능을 구현하는 방법을 설명합니다.
우선, 사용자 활동과 기여의 개념을 이해해야 합니다. 사용자 활동이란 일정 기간 동안 웹사이트에서 사용자가 질문 게시, 질문에 답변, 좋아요, 댓글 달기 및 기타 활동을 수행한 빈도와 수를 의미합니다. 기여란 질문에 대한 답변, 문제 해결, 고품질 질문 게시 등 사용자가 웹사이트에서 수행한 구체적인 기여를 의미합니다.
구현 시 사용자 활동은 질문 게시, 질문에 답변, 좋아요, 댓글 등 지난 달의 활동 빈도로 정의됩니다. 기여도는 사용자가 웹사이트에 게시하고 답변한 총 질문 수입니다.
먼저 사용자 ID, 사용자 이름 등 사용자의 기본 정보를 저장하는 사용자 테이블이 필요합니다. users라는 데이터베이스 테이블을 생성하고 그 안에 해당 필드를 생성할 수 있습니다.
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
));
다음으로 활동 테이블은 사용자 ID, 활동 유형, 활동 시간 등을 포함한 사용자 활동 정보를 기록합니다. 활동이라는 데이터베이스 테이블을 만들고 그 안에 해당 필드를 만들 수 있습니다.
CREATE TABLE 활동
(
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
));
사용자가 활동을 수행할 때, 그에 따라 레코드를 활성 테이블에 삽입해야 합니다. 예를 들어, 사용자가 질문을 게시하면 다음 코드를 실행할 수 있습니다.
$activity_type = 'question' // 활동 유형 질문 게시 중
$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); // 레코드 삽입 작업을 실행합니다.
function get_user_activity($user_id) {
$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()이라는 함수를 만들어 사용자가 웹사이트에 게시하고 답변한 총 질문 수를 쿼리할 수도 있습니다.
function get_user_contribution($user_id) {
$sql = "공헌 개수로 SELECT 개수(*)
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);
}
위 코드를 사용하면 페이지에서 이 두 함수를 호출하여 사용자의 활동과 기여도를 얻을 수 있습니다.
🎜$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;🎜🎜위 단계를 통해 지식 질문에서 사용자 활동 및 기여도 통계 기능을 구현하는 PHP를 완성했습니다. 필요에 따라 웹사이트 코드를 확장하고 실제 상황에 따라 시간 범위와 활동 유형을 조정할 수 있습니다. 요약하면, Q&A 웹사이트에서 사용자의 활동 데이터를 계산하여 사용자의 활동과 기여도를 평가할 수 있습니다. 웹사이트의 Q&A 활동에 더욱 적극적으로 참여하는 것은 웹사이트 활동과 사용자 경험을 개선하는 데 큰 의미가 있습니다 🎜.위 내용은 PHP는 지식 질의응답 웹사이트에서 사용자 활동 및 기여도 통계 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!