Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web soalan dan jawapan pengetahuan.

PHP melaksanakan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web soalan dan jawapan pengetahuan.

WBOY
WBOYasal
2023-07-02 10:42:23994semak imbas

PHP melaksanakan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab

Dengan perkembangan pesat Internet, laman web Soal Jawab menjadi semakin popular. Dalam laman web sedemikian, pengguna boleh bertanya soalan dan mendapatkan jawapan daripada pengguna lain. Untuk meningkatkan pengalaman pengguna, kadangkala kita perlu melaksanakan sejarah penyemakan imbas soalan dan fungsi rakaman supaya pengguna boleh melihat soalan yang telah dilayari sebelum ini dengan mudah.

Dalam artikel ini, kami akan menggunakan PHP untuk melaksanakan fungsi ini. Mula-mula kami akan membuat jadual pangkalan data untuk menyimpan sejarah penyemakan imbas pengguna, dan kemudian menulis kod PHP yang sepadan untuk memproses dan memaparkan rekod ini.

Buat jadual pangkalan data

Pertama, kita perlu mencipta jadual pangkalan data bernama question_history untuk menyimpan sejarah penyemakan imbas pengguna. Jadual mengandungi medan berikut:

  • id: kunci utama, pengecam unik rekod
  • user_id: pengecam unik pengguna, digunakan untuk mengaitkan pengguna dengan sejarah penyemakan imbas
  • question_id: pengecam unik soalan yang sedang dilihat
  • cap masa: Cap masa yang direkodkan, digunakan untuk mengisih rekod mengikut masa

Berikut ialah pernyataan SQL untuk mencipta jadual question_history:

CREATE TABLE `question_history` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL,
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Pelaksanaan kod PHP

Seterusnya, kita perlu menulis beberapa kod PHP untuk memproses dan memaparkan penyemakan imbas pengguna Rekod sejarah. Pertama, kita perlu menulis fungsi untuk memasukkan sejarah penyemakan imbas pengguna ke dalam jadual pangkalan data. Fungsi ini menerima dua parameter: pengecam unik pengguna dan pengecam unik soalan yang sedang dilihat.

function insertQuestionHistory($user_id, $question_id) {
  // 创建数据库连接
  $conn = new mysqli("localhost", "username", "password", "database");

  // 检查连接是否成功
  if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
  }

  // 插入记录到 question_history 表
  $sql = "INSERT INTO question_history (user_id, question_id) VALUES ('$user_id', '$question_id')";
  if ($conn->query($sql) === TRUE) {
    echo "浏览历史记录插入成功";
  } else {
    echo "插入错误:" . $conn->error;
  }

  // 关闭数据库连接
  $conn->close();
}

Kemudian, kita boleh menulis fungsi untuk mendapatkan sejarah penyemakan imbas pengguna daripada pangkalan data. Fungsi ini juga menerima pengecam unik pengguna sebagai parameter dan mengembalikan tatasusunan yang mengandungi sejarah penyemakan imbas pengguna.

function getQuestionHistory($user_id) {
  // 创建数据库连接
  $conn = new mysqli("localhost", "username", "password", "database");

  // 检查连接是否成功
  if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
  }

  // 查询 question_history 表中的记录
  $sql = "SELECT * FROM question_history WHERE user_id = '$user_id' ORDER BY timestamp DESC";
  $result = $conn->query($sql);

  // 将查询结果转换为数组
  $history = array();
  if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
      $history[] = $row;
    }
  }

  // 关闭数据库连接
  $conn->close();

  // 返回浏览历史记录数组
  return $history;
}

Akhir sekali, kita boleh menggunakan fungsi di atas untuk memaparkan sejarah penyemakan imbas pengguna. Kita boleh lelaran melalui tatasusunan sejarah penyemakan imbas dan mencetak setiap rekod.

$user_id = 1; // 假设用户的唯一标识符为 1

// 获取用户的浏览历史记录
$history = getQuestionHistory($user_id);

// 打印浏览历史记录
foreach ($history as $row) {
  echo "问题ID:" . $row['question_id'] . ",浏览时间:" . $row['timestamp'] . "<br>";
}

Ringkasan

Melalui contoh kod PHP di atas, kami berjaya melaksanakan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab pengetahuan. Pengguna boleh merekod dan mendapatkan sejarah penyemakan imbas mereka dengan memasukkan dan menyoal jadual pangkalan data, dan memaparkannya kepada pengguna melalui kod PHP. Fungsi sebegini boleh meningkatkan pengalaman pengguna dan memudahkan pengguna melihat soalan yang telah dilayari sebelum ini.

Atas ialah kandungan terperinci PHP melaksanakan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web soalan dan jawapan pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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