Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kemahiran pengaturcaraan PHP: Laksanakan fungsi menyukai berbilang artikel

Kemahiran pengaturcaraan PHP: Laksanakan fungsi menyukai berbilang artikel

王林
王林asal
2024-02-27 15:27:04405semak imbas

Kemahiran pengaturcaraan PHP: Laksanakan fungsi menyukai berbilang artikel

Tajuk: Petua Pengaturcaraan PHP: Laksanakan Fungsi Suka untuk Berbilang Artikel

Dalam pembangunan laman web, fungsi serupa adalah salah satu fungsi biasa dan penting Ia boleh meningkatkan interaktiviti pengguna dan meningkatkan pengalaman pengguna. Dalam artikel ini, kita akan membincangkan cara menggunakan PHP untuk melaksanakan fungsi serupa untuk berbilang artikel. Kami akan menggunakan pangkalan data PHP dan MySQL untuk melaksanakan fungsi ini, dan menyediakan contoh kod khusus supaya pembaca lebih memahami proses pelaksanaan.

Langkah 1: Buat pangkalan data

Pertama, kita perlu mencipta pangkalan data untuk menyimpan maklumat artikel dan bilangan suka. Kami mencipta pangkalan data bernama "artikel", mengandungi tiga medan: id, tajuk, suka. Antaranya, id ialah pengecam unik artikel, tajuk ialah tajuk artikel, dan suka ialah bilangan suka untuk artikel tersebut.

CREATE DATABASE articles;

USE articles;

CREATE TABLE articles (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    likes INT(11) DEFAULT 0
);

Langkah 2: Paparkan senarai artikel

Kami mencipta fail PHP untuk memaparkan senarai semua artikel dan menambah butang suka pada setiap artikel. Pengguna boleh mengklik butang untuk menyukai artikel.

<?php
//连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "articles";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

//查询数据库获取文章列表
$sql = "SELECT * FROM articles";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<div>";
        echo "<h2>" . $row['title'] . "</h2>";
        echo "<button onclick='likeArticle(" . $row['id'] . ")'>点赞</button>";
        echo "<span id='likes_" . $row['id'] . "'>" . $row['likes'] . "</span>";
        echo "</div>";
    }
} else {
    echo "暂无文章";
}

$conn->close();
?>

Langkah 3: Laksanakan fungsi suka

Kami mencipta fungsi JavaScript untuk mengendalikan fungsi suka dan mengemas kini bilangan suka ke dalam pangkalan data melalui permintaan Ajax.

function likeArticle(article_id) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("likes_" + article_id).innerHTML = this.responseText;
        }
    };
    xmlhttp.open("GET", "like_article.php?id=" + article_id, true);
    xmlhttp.send();
}

Langkah 4: Kemas kini bilangan suka

Buat fail PHP bernama "like_article.php" untuk mengendalikan permintaan suka dan kemas kini bilangan suka untuk artikel dalam pangkalan data.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "articles";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$article_id = $_GET['id'];

$sql_update = "UPDATE articles SET likes = likes + 1 WHERE id = $article_id";

if ($conn->query($sql_update) === TRUE) {
    $sql_select = "SELECT likes FROM articles WHERE id = $article_id";
    $result = $conn->query($sql_select);
    $row = $result->fetch_assoc();
    echo $row['likes'];
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

Melalui langkah di atas, kami telah berjaya melaksanakan fungsi serupa untuk beberapa artikel. Pengguna boleh menyemak imbas artikel di laman web dan menyukai artikel yang mereka suka. Selepas mengklik butang, bilangan suka dalam pangkalan data akan dikemas kini melalui permintaan Ajax dan dipaparkan kepada pengguna dalam masa nyata. Dengan cara ini, ia bukan sahaja meningkatkan pengalaman pengguna, tetapi juga meningkatkan interaktiviti pengguna.

Saya harap kandungan di atas akan membantu anda, dan saya harap anda boleh menggunakan teknik ini dengan jayanya dalam projek sebenar dan meningkatkan keupayaan pembangunan laman web anda.

Atas ialah kandungan terperinci Kemahiran pengaturcaraan PHP: Laksanakan fungsi menyukai 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