Maison  >  Article  >  développement back-end  >  Tutoriel pratique PHP : Créer un système de like complet pour plusieurs articles

Tutoriel pratique PHP : Créer un système de like complet pour plusieurs articles

WBOY
WBOYoriginal
2024-02-27 15:24:04595parcourir

Tutoriel pratique PHP : Créer un système de like complet pour plusieurs articles

Tutoriel pratique PHP : Créer un système de likes complet pour plusieurs articles

Dans le développement Web, le système de likes est une fonction très courante. Les likes permettent aux utilisateurs d'exprimer leur amour et leur soutien pour le contenu. Dans ce didacticiel, nous utiliserons PHP pour créer un système complet de likes pour plusieurs articles, permettant aux utilisateurs d'aimer les opérations sur différents articles.

Analyse de la configuration système requise

Avant de créer le système similaire, analysons d'abord la configuration système requise :

  1. Les utilisateurs peuvent afficher plusieurs articles et aimer les articles.
  2. Chaque article peut afficher le nombre de likes et les utilisateurs peuvent vérifier les likes de l'article en cours.
  3. Les utilisateurs ne peuvent aimer le même article qu'une seule fois, et les likes répétés doivent être évités.

Conception de base de données

Tout d'abord, nous devons concevoir une table de base de données pour stocker les informations sur les articles et les enregistrements similaires. Voici les deux tableaux dont nous avons besoin :

table d'articles

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

table de likes

CREATE TABLE likes(
    id INT PRIMARY KEY AUTO_INCREMENT,
    article_id INT,
    user_id INT
);

Affichage de page

Ensuite, nous implémenterons la partie d'affichage de page. Nous avons besoin d'une page de liste d'articles où les utilisateurs peuvent voir tous les articles et aimer les articles.

index.php

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

// 查询所有文章
$query = "SELECT * FROM articles";
$result = $conn->query($query);

// 显示文章列表
while ($row = $result->fetch_assoc()) {
    echo "<h2>".$row['title']."</h2>";
    echo "<p>".$row['content']."</p>";
    echo "<p>Likes: ".$row['likes']."</p>";
    echo "<form method='post' action='like.php'>";
    echo "<input type='hidden' name='article_id' value='".$row['id']."'>";
    echo "<button type='submit'>Like</button>";
    echo "</form>";
}

$conn->close();
?>

like.php

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

// 获取文章id
$article_id = $_POST['article_id'];

// 检查用户是否已经点赞过该文章(此处省略了用户验证部分)

// 更新文章点赞数
$query = "UPDATE articles SET likes = likes + 1 WHERE id = $article_id";
$conn->query($query);

// 记录点赞记录
$query = "INSERT INTO likes (article_id, user_id) VALUES ($article_id, $user_id)";
$conn->query($query);

$conn->close();
header('Location: index.php');
?>

Résumé

Grâce aux étapes ci-dessus, nous avons implémenté un système simple de type multi-articles. Lorsqu'un utilisateur clique sur le bouton J'aime sur la page de liste d'articles, le système met à jour le nombre de likes pour l'article et enregistre les informations similaires pour garantir que l'utilisateur ne peut aimer le même article qu'une seule fois, tout en garantissant l'exactitude et la cohérence de l'article. nombre de likes.

Bien sûr, ce n'est qu'un exemple simple, et davantage de fonctions et d'optimisations peuvent être nécessaires dans les applications réelles, telles que l'authentification des utilisateurs, comme la fonction d'annulation, etc. J'espère que ce tutoriel pourra vous aider à créer un système similaire plus puissant et plus complet dans des projets réels.

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