Maison > Article > développement back-end > 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.
Avant de concevoir la fonction permettant d'aimer plusieurs articles, nous devons d'abord clarifier nos exigences fonctionnelles :
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.
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>
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 "您已经点赞过了"; } } ?>
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!