Maison  >  Article  >  développement back-end  >  Programmation PHP avancée : conception et implémentation de fonctions similaires pour plusieurs articles

Programmation PHP avancée : conception et implémentation de fonctions similaires pour plusieurs articles

WBOY
WBOYoriginal
2024-02-28 08:03:03543parcourir

Programmation PHP avancée : conception et implémentation de fonctions similaires pour plusieurs articles

En tant que développeur PHP, nous rencontrons souvent le besoin d'ajouter une fonction like à un site Web ou une application. Cet article expliquera comment concevoir et implémenter une fonction de type multi-articles via une programmation PHP avancée et fournira des exemples de code spécifiques.

1. Analyse des exigences fonctionnelles

Avant de concevoir la fonction permettant d'aimer plusieurs articles, nous devons d'abord clarifier nos exigences fonctionnelles :

  1. Les utilisateurs peuvent consulter plusieurs articles sur le site Web et aimer chaque article.
  2. Les utilisateurs ne peuvent aimer chaque article qu'une seule fois. Une fois que l'utilisateur l'a déjà aimé, il ne peut plus l'aimer.
  3. Les utilisateurs peuvent vérifier combien de personnes aiment chaque article et annuler les likes.

2. Conception de la base de données

Afin d'implémenter la fonction J'aime, nous devons stocker les informations J'aime de l'utilisateur dans la base de données. Ensuite, nous concevons une simple table de base de données pour stocker les informations similaires :

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

Dans le tableau ci-dessus, nous stockons l'identifiant, l'identifiant de l'article, l'identifiant de l'utilisateur et l'heure de création de l'enregistrement similaire.

3. Conception de la page

Nous créerons une page contenant plusieurs articles et afficherons un bouton J'aime sous chaque article. Lorsque l'utilisateur clique sur le bouton J'aime, nous enverrons les informations similaires au backend via une requête AJAX.

Ce qui suit est un exemple simple de conception de page :

<!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. Implémentation du backend PHP

Dans le backend PHP, nous écrirons le code pour recevoir les requêtes AJAX et gérerons la logique de la fonction like. Voici un exemple de code PHP simple :

<?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. Requête AJAX frontale

Enfin, nous devons écrire du code JS front-end pour gérer la requête AJAX envoyée en cliquant sur le bouton J'aime. Voici un exemple de code JS simple :

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));
    });
});

Grâce aux étapes ci-dessus, nous pouvons implémenter une fonction similaire simple pour plusieurs articles. Lorsque l'utilisateur clique sur le bouton J'aime, le backend recevra la requête AJAX, vérifiera si l'utilisateur l'a déjà aimé, puis mettra à jour l'enregistrement de la base de données.

J'espère que cet article sera utile à la conception et à la mise en œuvre de la fonction like dans la programmation PHP avancée. Ceci n'est qu'un exemple simple. Les applications pratiques peuvent nécessiter une logique et une optimisation plus complexes, et doivent être encore améliorées et développées par les développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn