Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan PHP untuk membangunkan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab pengetahuan.

Gunakan PHP untuk membangunkan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab pengetahuan.

王林
王林asal
2023-07-02 08:51:091377semak imbas

Gunakan PHP untuk membangunkan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab

Pengenalan:
Tapak web Soal Jawab ialah salah satu jenis laman web yang paling popular di Internet hari ini. Untuk meningkatkan pengalaman pengguna, kami boleh menambahkan sejarah penyemakan imbas masalah dan fungsi rakaman pada tapak web jenis ini. Artikel ini akan menerangkan cara menggunakan PHP untuk membangunkan ciri ini untuk membantu pengguna melihat dengan lebih mudah soalan yang telah mereka semak imbas.

Keperluan ciri:

  • Selepas pengguna log masuk, mereka boleh melihat senarai soalan yang mereka lihat baru-baru ini, memudahkan mereka menyemak dan terus membaca.
  • Sejarah penyemakan imbas akan menyimpan 10 soalan terbaru pengguna Apabila nombor ini melebihi, rekod tertua akan dipadamkan.

Proses pelaksanaan:

  1. Reka bentuk pangkalan data
    Pertama, kita perlu mencipta jadual data untuk menyimpan sejarah penyemakan imbas. Kita boleh melakukan ini menggunakan pangkalan data MySQL. Buat jadual data bernama "sejarah", yang mengandungi medan berikut:
  2. id: rekod pengecam unik, menggunakan kunci utama penambahan automatik.
  3. user_id: ID Pengguna, menunjukkan pengguna mana rekod itu milik.
  4. question_id: ID Soalan, menunjukkan soalan menyemak imbas.
  5. cap masa: Cap masa rekod, digunakan untuk mengisih dan mengehadkan bilangan maksimum rekod.
CREATE TABLE history (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id INT,
  question_id INT,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. Pelaksanaan kod PHP
    Seterusnya, kami akan melaksanakan sejarah penyemakan imbas dan fungsi rakaman melalui kod PHP.
// 设置数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 获取当前登录用户的 ID
$user_id = $_SESSION['user_id'];

// 获取用户最近浏览的问题记录
$query = "SELECT * FROM history WHERE user_id = $user_id ORDER BY timestamp DESC LIMIT 10";
$result = $conn->query($query);

// 显示浏览历史记录
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $question_id = $row['question_id'];
        
        // 根据问题 ID 查询问题详情并显示
        $query_question = "SELECT * FROM questions WHERE id = $question_id";
        $result_question = $conn->query($query_question);
        
        if ($result_question->num_rows > 0) {
            while($row_question = $result_question->fetch_assoc()) {
                echo $row_question['title'];
                echo "<br>";
                echo $row_question['content'];
                echo "<br><br>";
            }
        }
    }
} else {
    echo "还没有浏览历史记录";
}

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

Kod di atas mula-mula bersambung ke pangkalan data dan kemudian mendapat ID pengguna yang sedang log masuk. Kemudian sejarah penyemakan imbas terkini pengguna ditanya daripada pangkalan data, dan butiran masalah disoal dan dipaparkan berdasarkan ID masalah. Akhir sekali tutup sambungan pangkalan data.

Ringkasan:
Artikel ini memperkenalkan melalui contoh kod PHP cara menggunakan PHP untuk membangunkan sejarah penyemakan imbas soalan dan fungsi rakaman dalam tapak web soal jawab pengetahuan. Ciri seperti ini meningkatkan pengalaman pengguna dan memudahkan pengguna melihat soalan yang telah mereka semak imbas. Melalui reka bentuk pangkalan data dan pelaksanaan kod PHP, kami boleh melaksanakan fungsi ini dengan mudah. Saya harap artikel ini akan membantu pembangun PHP dan pembangun laman web yang mempunyai keperluan yang sama.

Atas ialah kandungan terperinci Gunakan PHP untuk membangunkan sejarah menyemak imbas soalan dan fungsi rakaman dalam laman web Soal Jawab 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