PHP melaksanakan fungsi statistik aktiviti pengguna dan sumbangan dalam laman web soal jawab pengetahuan.

WBOY
Lepaskan: 2023-07-02 10:52:01
asal
1565 orang telah melayarinya

PHP melaksanakan fungsi statistik aktiviti pengguna dan sumbangan dalam laman web soal jawab pengetahuan

Dengan peningkatan laman web soal jawab pengetahuan, semakin ramai orang cenderung untuk memperoleh dan berkongsi pelbagai pengetahuan di platform tersebut. Untuk meningkatkan aktiviti pengguna dan menggalakkan pengguna membuat lebih banyak sumbangan, kami boleh menilai aktiviti dan sumbangan mereka dengan mengira data aktiviti mereka di tapak web. Artikel ini menerangkan cara melaksanakan fungsi ini menggunakan PHP.

Pertama sekali, kita perlu memahami konsep aktiviti dan sumbangan pengguna. Aktiviti pengguna merujuk kepada kekerapan dan bilangan pengguna menghantar soalan, menjawab soalan, menyukai, mengulas dan aktiviti lain di laman web dalam tempoh masa tertentu. Sumbangan merujuk kepada sumbangan khusus yang dibuat oleh pengguna di tapak web, seperti menjawab soalan, menyelesaikan masalah, menyiarkan soalan berkualiti tinggi, dsb.

Dalam pelaksanaan kami, kami mentakrifkan aktiviti pengguna sebagai kekerapan aktiviti pada bulan lalu, termasuk menyiarkan soalan, menjawab soalan, suka, komen, dsb. Sumbangan ialah jumlah soalan yang disiarkan dan dijawab oleh pengguna di tapak web.

Pertama, kita perlu mempunyai jadual pengguna untuk menyimpan maklumat asas pengguna, seperti ID pengguna, nama pengguna, dll. Kita boleh membuat jadual pangkalan data yang dipanggil pengguna dan mencipta medan yang sepadan di dalamnya.

BUAT JADUAL pengguna (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) BUKAN NULL AUTO_INCREMENT,
nama pengguna varchar(255) BUKAN NULL,

e-mel varchar(255) BUKAN NULL,

dicipta_pada tarikh BUKAN NULL,

KUNCI UTAMA (id)

);

Seterusnya, kita perlu mempunyai Jadual aktiviti merekodkan maklumat aktiviti pengguna, termasuk ID pengguna, jenis aktiviti, masa aktiviti, dsb. Kita boleh membuat jadual pangkalan data yang dipanggil aktiviti dan mencipta medan yang sepadan di dalamnya.

CIPTA JADUAL aktiviti (

id int(11) BUKAN NULL AUTO_INCREMENT,

id_pengguna int(11) BUKAN NULL,

activity_type varchar(255) NOT NULL,

created_at datetime NOT NULL,

PRIMARY KEY (id)

);

Apabila pengguna melakukan aktiviti, kami Satu rekod perlu dimasukkan ke dalam jadual aktif dengan sewajarnya. Contohnya, apabila pengguna menyiarkan soalan, kami boleh melaksanakan kod berikut:

$user_id = $_SESSION['user_id']; // Dapatkan ID pengguna semasa

$activity_type = 'question'; ialah penyiaran soalan

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


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

      VALUES ('$user_id', '$activity_type', '$created_at')";
Salin selepas log masuk

$query = mysqli_query($conn, $sql); / / Laksanakan operasi rekod sisipan

Begitu juga, kita juga perlu melaksanakan kod yang serupa apabila pengguna menjawab soalan, suka atau komen

Seterusnya, kita perlu menulis fungsi untuk mengira aktiviti dan sumbangan pengguna. Buat fungsi bernama get_user_activity() untuk menanyakan rekod aktiviti pengguna pada bulan lepas


function get_user_activity($user_id) {

$past_month = date('Y-m-d', strtotime('-1 month') ); Dapatkan tarikh sebulan yang lalu


$sql = "SELECT count(*) as activity_count

      FROM activities 
      WHERE user_id = $user_id 
      AND created_at >= '$past_month'";
Salin selepas log masuk

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

return $result 'activity_count'];

}

Selain itu, kami juga boleh mencipta fungsi yang dipanggil get_user_contribution() untuk menanyakan jumlah soalan yang disiarkan dan dijawab oleh pengguna di tapak web.


fungsi 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')";
Salin selepas log masuk

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

result['contribution_count'];

}

Dengan kod di atas, kami boleh memanggil kedua-dua fungsi ini pada halaman untuk mendapatkan aktiviti dan sumbangan pengguna

🎜$user_id = $_SESSION['user_id']; ID pengguna semasa🎜🎜// Dapatkan aktiviti pengguna dan paparkannya di halaman🎜$user_activity = get_user_activity($user_id);🎜echo "User activity:" halaman Pada halaman 🎜$user_contribution = get_user_contribution($user_id);🎜echo "User contribution:" .$user_contribution;🎜🎜Melalui langkah di atas, kami telah melengkapkan PHP yang melaksanakan aktiviti pengguna dan fungsi statistik sumbangan dalam soalan pengetahuan. dan menjawab Kod tapak web Kami boleh mengembangkannya mengikut keperluan dan melaraskan julat masa dan jenis aktiviti mengikut situasi sebenar 🎜🎜Ringkasnya, dengan mengira data aktiviti pengguna di tapak web Soal Jawab, kami boleh menilai aktiviti dan sumbangan pengguna. Galakkan pengguna untuk mengambil bahagian secara lebih aktif dalam aktiviti Soal Jawab di tapak web, yang sangat penting untuk meningkatkan aktiviti tapak web dan pengalaman pengguna 🎜.

Atas ialah kandungan terperinci PHP melaksanakan fungsi statistik aktiviti pengguna dan sumbangan dalam laman web soal jawab pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan