Rumah > pembangunan bahagian belakang > tutorial php > PHP melaksanakan fungsi pengumpulan dan perkongsian jawapan soalan dalam laman web Soal Jawab pengetahuan.

PHP melaksanakan fungsi pengumpulan dan perkongsian jawapan soalan dalam laman web Soal Jawab pengetahuan.

王林
Lepaskan: 2023-07-01 19:02:01
asal
1290 orang telah melayarinya

PHP merealisasikan fungsi pengumpulan dan perkongsian jawapan soalan dalam laman web soal jawab ilmu

1 Latar Belakang
Dengan perkembangan pesat Internet, laman web soal jawab ilmu secara beransur-ansur menjadi platform penting untuk orang ramai memperoleh pengetahuan dan. bertukar pengalaman. Pada tapak sedemikian, pengguna boleh menyiarkan soalan mereka sendiri dan pengguna lain boleh menjawab soalan tersebut. Untuk memberikan pengalaman pengguna yang lebih baik, kami akan memperkenalkan dalam artikel ini cara menggunakan PHP untuk melaksanakan fungsi pengumpulan dan perkongsian jawapan soalan dalam tapak web Soal Jawab pengetahuan.

2. Perlaksanaan fungsi pengumpulan soal jawab
Dalam laman web soal jawab ilmu, pengguna boleh mengumpul jawapan kepada soalan dan jawapan yang diminati untuk tontonan mudah nanti. Berikut ialah contoh kod untuk melaksanakan fungsi pengumpulan jawapan soalan:

  1. Pertama, kita perlu mencipta jadual pangkalan data untuk menyimpan maklumat koleksi pengguna. Anda boleh mencipta jadual bernama "penanda halaman" dengan medan berikut:

    CREATE TABLE bookmarks (
     id INT AUTO_INCREMENT PRIMARY KEY,
     user_id INT,
     answer_id INT,
     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    Salin selepas log masuk
  2. Selepas pengguna log masuk, dapatkan ID pengguna melalui mekanisme sesi PHP, dan kemudian masukkan ID pengguna dan ID jawapan soalan ke dalam jadual "penanda halaman". Sederhana:

    // 获取当前用户的 ID
    $userId = $_SESSION['user_id'];
    
    // 获取问题答案的 ID
    $answerId = $_GET['answer_id'];
    
    // 插入数据到数据库表中
    $query = "INSERT INTO bookmarks (user_id, answer_id) VALUES ($userId, $answerId)";
    $result = mysqli_query($connection, $query);
    Salin selepas log masuk
  3. Apabila pengguna perlu melihat jawapan kepada soalan kegemarannya, kami boleh menanyakan jadual pangkalan data berdasarkan ID pengguna dan memaparkan jawapan soalan yang berkaitan:

    // 获取当前用户的 ID
    $userId = $_SESSION['user_id'];
    
    // 查询数据库表,获取用户收藏的问题答案
    $query = "SELECT * FROM bookmarks WHERE user_id = $userId";
    $result = mysqli_query($connection, $query);
    
    // 循环显示问题答案
    while ($row = mysqli_fetch_assoc($result)) {
     $answerId = $row['answer_id'];
    
     // 根据答案的 ID 查询相关的问题答案信息,并显示在页面上
     $query = "SELECT * FROM answers WHERE id = $answerId";
     $answerResult = mysqli_query($connection, $query);
    
     // 显示问题答案信息
     $answerRow = mysqli_fetch_assoc($answerResult);
     echo $answerRow['content'];
    }
    Salin selepas log masuk

3. Pelaksanaan fungsi perkongsian jawapan soalan
Selain itu Kumpul jawapan kepada soalan, dan pengguna juga boleh berkongsi jawapan kepada soalan yang mereka fikirkan bernilai kepada pengguna lain. Berikut ialah contoh kod untuk melaksanakan fungsi perkongsian jawapan soalan:

  1. Pada halaman jawapan soalan, kita boleh menambah butang "Kongsi", mencetuskan fungsi JavaScript apabila butang diklik dan menghantar ID jawapan soalan kepada melalui permintaan AJAX Bahagian pelayan:

    <button onclick="shareAnswer(<?php echo $answerId ?>)">分享</button>
    
    <script>
    function shareAnswer(answerId) {
     // 发送 AJAX 请求
     var xhr = new XMLHttpRequest();
     xhr.open('POST', 'share.php');
     xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     xhr.onload = function() {
         if (xhr.status === 200) {
             alert('问题答案分享成功!');
         } else {
             alert('问题答案分享失败!');
         }
     };
     xhr.send('answer_id=' + answerId);
    }
    </script>
    Salin selepas log masuk
  2. Di bahagian pelayan, dapatkan ID jawapan soalan melalui PHP dan masukkan ke dalam jadual pangkalan data yang dipanggil "perkongsian":

    // 获取问题答案的 ID
    $answerId = $_POST['answer_id'];
    
    // 插入数据到数据库表中
    $query = "INSERT INTO shares (answer_id) VALUES ($answerId)";
    $result = mysqli_query($connection, $query);
    if ($result) {
     echo 'success';
    } else {
     echo 'failure';
    }
    Salin selepas log masuk
  3. Apabila pengguna lain melihat jawapan soalan, kami Ia boleh memaparkan bilangan kali jawapan kepada soalan ini telah dikongsi:

    // 获取问题答案的 ID
    $answerId = $_GET['answer_id'];
    
    // 查询数据库表,获取问题答案的分享次数
    $query = "SELECT COUNT(*) AS shares_count FROM shares WHERE answer_id = $answerId";
    $result = mysqli_query($connection, $query);
    $row = mysqli_fetch_assoc($result);
    
    // 显示问题答案的分享次数
    echo $row['shares_count'] . "次分享";
    Salin selepas log masuk

4. Ringkasan
Melalui contoh kod di atas, kami boleh melaksanakan fungsi pengumpulan dan perkongsian jawapan soalan dalam laman web Soal Jawab pengetahuan. Fungsi pengumpulan membolehkan pengguna menyimpan jawapan kepada soalan yang mereka minati untuk tontonan kemudiannya. Pelaksanaan fungsi ini sangat penting untuk meningkatkan pengalaman pengguna laman web soal jawab pengetahuan, dan juga memudahkan komunikasi dan perkongsian antara pengguna. Saya harap artikel ini dapat membantu pembangun!

Atas ialah kandungan terperinci PHP melaksanakan fungsi pengumpulan dan perkongsian jawapan soalan dalam laman web Soal Jawab pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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