Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan PHP Lanjutan: Reka Bentuk dan Pelaksanaan Fungsi Suka untuk Berbilang Artikel

Pengaturcaraan PHP Lanjutan: Reka Bentuk dan Pelaksanaan Fungsi Suka untuk Berbilang Artikel

WBOY
WBOYasal
2024-02-28 08:03:03548semak imbas

Pengaturcaraan PHP Lanjutan: Reka Bentuk dan Pelaksanaan Fungsi Suka untuk Berbilang Artikel

Sebagai pembangun PHP, kami sering menghadapi keperluan untuk menambah fungsi suka pada tapak web atau aplikasi. Artikel ini akan memperkenalkan cara mereka bentuk dan melaksanakan fungsi seperti berbilang artikel melalui pengaturcaraan PHP lanjutan, dan menyediakan contoh kod khusus.

1. Analisis keperluan fungsional

Sebelum mereka bentuk fungsi menyukai berbilang artikel, kami terlebih dahulu perlu menjelaskan keperluan fungsi kami:

  1. Pengguna boleh melihat berbilang artikel di tapak web dan menyukai setiap artikel.
  2. Pengguna hanya boleh menyukai setiap artikel sekali apabila pengguna sudah menyukainya, mereka tidak boleh menyukainya lagi.
  3. Pengguna boleh menyemak bilangan orang yang menyukai setiap artikel dan boleh membatalkan suka.

2. Reka bentuk pangkalan data

Untuk melaksanakan fungsi serupa, kita perlu menyimpan maklumat suka pengguna dalam pangkalan data. Seterusnya, kami mereka bentuk jadual pangkalan data mudah untuk menyimpan maklumat seperti:

CREATE TABLE likes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    article_id INT,
    user_id INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Dalam jadual di atas, kami menyimpan id, id artikel, id pengguna dan masa penciptaan rekod serupa.

3. Reka bentuk halaman

Kami akan membuat halaman yang mengandungi berbilang artikel dan memaparkan butang suka di bawah setiap artikel. Apabila pengguna mengklik butang suka, kami akan menghantar maklumat suka ke bahagian belakang melalui permintaan AJAX.

Berikut ialah contoh reka bentuk halaman yang mudah:

<!DOCTYPE html>
<html>
<head>
    <title>多篇文章点赞功能</title>
</head>
<body>
    <div>
        <h1>文章标题1</h1>
        <p>文章内容1</p>
        <button class="like-btn" data-article-id="1">点赞</button>
    </div>
    <div>
        <h1>文章标题2</h1>
        <p>文章内容2</p>
        <button class="like-btn" data-article-id="2">点赞</button>
    </div>
</body>
</html>

4. Pelaksanaan backend PHP

Dalam bahagian belakang PHP, kami akan menulis kod untuk menerima permintaan AJAX dan mengendalikan logik fungsi seperti itu. Berikut ialah contoh kod PHP mudah:

<?php
require('db.php'); // 连接数据库

if ($_POST['action'] == 'like') {
    $article_id = $_POST['article_id'];
    $user_id = 1; // 假设用户id为1

    $sql = "SELECT * FROM likes WHERE article_id = $article_id AND user_id = $user_id";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) == 0) {
        $sql = "INSERT INTO likes (article_id, user_id) VALUES ($article_id, $user_id)";
        mysqli_query($conn, $sql);
        echo "点赞成功";
    } else {
        echo "您已经点赞过了";
    }
}
?>

5. Permintaan AJAX bahagian hadapan

Akhir sekali, kita perlu menulis kod JS bahagian hadapan untuk mengendalikan permintaan AJAX yang dihantar dengan mengklik butang suka. Berikut ialah contoh kod JS yang mudah:

document.querySelectorAll('.like-btn').forEach((btn) => {
    btn.addEventListener('click', function() {
        const articleId = this.getAttribute('data-article-id');

        fetch('like.php', {
            method: 'POST',
            body: JSON.stringify({action: 'like', article_id: articleId})
        })
        .then(response => response.text())
        .then(data => {
            alert(data);
        })
        .catch(error => console.error('Error:', error));
    });
});

Melalui langkah di atas, kami boleh melaksanakan fungsi seperti mudah untuk berbilang artikel. Apabila pengguna mengklik butang suka, bahagian belakang akan menerima permintaan AJAX, semak sama ada pengguna telah menyukainya, dan kemudian mengemas kini rekod pangkalan data.

Saya harap artikel ini akan membantu reka bentuk dan pelaksanaan fungsi serupa dalam pengaturcaraan PHP lanjutan. Ini hanyalah contoh mudah Aplikasi praktikal mungkin memerlukan logik dan pengoptimuman yang lebih kompleks, dan perlu dipertingkatkan dan dikembangkan lagi oleh pembangun.

Atas ialah kandungan terperinci Pengaturcaraan PHP Lanjutan: Reka Bentuk dan Pelaksanaan Fungsi Suka untuk Berbilang Artikel. 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