Développement PHP : Comment implémenter la fonction article like

王林
Libérer: 2023-09-20 14:26:06
original
1234 Les gens l'ont consulté

Développement PHP : Comment implémenter la fonction article like

Développement PHP : Comment implémenter la fonction like d'article, des exemples de code spécifiques sont nécessaires

Introduction :
Dans les réseaux sociaux et les applications Web modernes, la fonction like est devenue une fonction d'interaction sociale courante. Qu'il s'agisse d'actualités, de Weibo, de blogs ou de forums communautaires, les utilisateurs peuvent exprimer leur amour et leur soutien pour le contenu en l'aimant. Cet article expliquera comment utiliser PHP pour développer et implémenter la fonction similaire à l'article, et donnera des exemples de code spécifiques.

1. Concevoir la structure de la base de données
Avant de commencer à implémenter la fonction de type article, vous devez d'abord concevoir la structure de la base de données. Nous pouvons créer deux tables, l’une pour stocker les informations sur les articles et l’autre pour stocker les informations similaires.

  1. Tableau d'article (article)
    Champ :
  2. id : ID de l'article (clé primaire)
  3. titre : titre de l'article
  4. contenu : contenu de l'article
  5. Tableau J'aime (j'aime)
    Champ :
  6. id : J'aime l'ID ( Clé primaire)
  7. article_id : l'ID de l'article aimé
  8. user_id : l'ID de l'utilisateur qui l'a aimé

2. Logique back-end pour implémenter la fonction like
La logique back-end pour implémenter la fonction like comprend principalement deux parties : Ajouter des likes et des dissemblances.

  1. Ajouter des likes
    Lorsqu'un utilisateur clique sur le bouton J'aime d'un article, le backend doit effectuer les opérations suivantes :
  • Pour déterminer si l'utilisateur a déjà aimé l'article, vous pouvez déterminer s'il existe des enregistrements associés en interroger la table des likes.
  • Si l'utilisateur a déjà aimé l'article, aucune action ne sera effectuée.
  • Si l'utilisateur n'a pas aimé l'article, insérez un nouvel enregistrement dans le tableau des likes.

Exemple de code PHP :

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取文章ID和用户ID
$articleId = $_POST['articleId'];
$userId = $_POST['userId'];

// 查询点赞表
$query = "SELECT * FROM like WHERE article_id = $articleId AND user_id = $userId";
$result = mysqli_query($conn, $query);

// 判断是否已经点赞过该文章
if (mysqli_num_rows($result) > 0) {
    // 用户已经点赞过该文章,不执行任何操作
} else {
    // 用户没有点赞过该文章,插入一条新记录
    $insertQuery = "INSERT INTO like (article_id, user_id) VALUES ($articleId, $userId)";
    mysqli_query($conn, $insertQuery);
}

// 关闭数据库连接
mysqli_close($conn);
?>
Copier après la connexion
  1. Annuler le like
    Lorsque l'utilisateur annule le like, le backend doit effectuer les opérations suivantes :
  • Pour déterminer si l'utilisateur a aimé l'article, vous pouvez interroger la table des likes Déterminez si des enregistrements pertinents existent.
  • Si l'utilisateur n'a pas aimé l'article, aucune action ne sera effectuée.
  • Si l'utilisateur a déjà aimé l'article, l'enregistrement correspondant sera supprimé dans le tableau des likes.

Exemple de code PHP :

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取文章ID和用户ID
$articleId = $_POST['articleId'];
$userId = $_POST['userId'];

// 查询点赞表
$query = "SELECT * FROM like WHERE article_id = $articleId AND user_id = $userId";
$result = mysqli_query($conn, $query);

// 判断是否已经点赞过该文章
if (mysqli_num_rows($result) > 0) {
    // 用户已经点赞过该文章,删除相关记录
    $deleteQuery = "DELETE FROM like WHERE article_id = $articleId AND user_id = $userId";
    mysqli_query($conn, $deleteQuery);
} else {
    // 用户没有点赞过该文章,不执行任何操作
}

// 关闭数据库连接
mysqli_close($conn);
?>
Copier après la connexion

3. Implémentation frontale de la fonction similaire
Ajoutez un bouton J'aime à la page frontale et interagissez avec le back-end Vous pouvez utiliser Ajax pour envoyer des requêtes asynchrones.

Exemple de code HTML :

<button class="like-button" data-article-id="1">点赞</button>
Copier après la connexion

Exemple de code JavaScript :

// 点赞按钮点击事件
$(".like-button").on("click", function() {
    var articleId = $(this).data("article-id");
    var userId = 1; // 假设用户ID为1

    // 发送异步请求到后端
    $.ajax({
        type: "POST",
        url: "like.php",
        data: { articleId: articleId, userId: userId },
        success: function(response) {
            // 更新点赞按钮状态
            $(this).addClass("active");
            alert("点赞成功!");
        }
    });
});
Copier après la connexion

IV Résumé
Grâce aux étapes d'implémentation ci-dessus, nous pouvons implémenter la fonction de type article dans le développement PHP. De l'écriture de la logique back-end à la mise en œuvre de l'interaction front-end, nous pouvons obtenir l'effet selon lequel les utilisateurs aiment les articles et obtiennent des commentaires sur l'interface. J'espère que cet article pourra être utile pour l'implémentation de la fonction like dans le développement PHP.

Remarque spéciale :
Les exemples de code dans cet article sont uniquement à titre de référence. Veuillez apporter les modifications et les optimisations appropriées en fonction de conditions spécifiques pendant le processus de développement réel pour garantir la sécurité et les performances du code.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!