Heim > Artikel > Backend-Entwicklung > Fortgeschrittene PHP-Programmierung: Design und Implementierung der Like-Funktion für mehrere Artikel
Als PHP-Entwickler stehen wir oft vor der Notwendigkeit, einer Website oder Anwendung eine Like-Funktion hinzuzufügen. In diesem Artikel wird erläutert, wie Sie mithilfe fortgeschrittener PHP-Programmierung eine Multi-Artikel-ähnliche Funktion entwerfen und implementieren, und es werden spezifische Codebeispiele bereitgestellt.
Bevor wir die Funktion zum Liken mehrerer Artikel entwerfen, müssen wir zunächst unsere funktionalen Anforderungen klären:
Um die Like-Funktion zu implementieren, müssen wir die Like-Informationen des Benutzers in der Datenbank speichern. Als Nächstes entwerfen wir eine einfache Datenbanktabelle zum Speichern von Like-Informationen:
CREATE TABLE likes ( id INT AUTO_INCREMENT PRIMARY KEY, article_id INT, user_id INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
In der obigen Tabelle speichern wir die ID, die Artikel-ID, die Benutzer-ID und die Erstellungszeit des Like-Datensatzes.
Wir erstellen eine Seite mit mehreren Artikeln und zeigen unter jedem Artikel einen „Gefällt mir“-Button an. Wenn der Benutzer auf die Schaltfläche „Gefällt mir“ klickt, senden wir die „Gefällt mir“-Informationen über eine AJAX-Anfrage an das Backend.
Das Folgende ist ein einfaches Beispiel für ein Seitendesign:
<!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>
Im PHP-Backend schreiben wir den Code, um AJAX-Anfragen zu empfangen und die Logik der Like-Funktion zu verwalten. Das Folgende ist ein einfaches PHP-Codebeispiel:
<?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 "您已经点赞过了"; } } ?>
Schließlich müssen wir Front-End-JS-Code schreiben, um die AJAX-Anfrage zu verarbeiten, die durch Klicken auf die Schaltfläche „Gefällt mir“ gesendet wird. Das Folgende ist ein einfaches JS-Codebeispiel:
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)); }); });
Durch die obigen Schritte können wir eine einfache Like-Funktion für mehrere Artikel implementieren. Wenn der Benutzer auf die Schaltfläche „Gefällt mir“ klickt, empfängt das Backend die AJAX-Anfrage, prüft, ob es dem Benutzer bereits gefallen hat, und aktualisiert dann den Datenbankeintrag.
Ich hoffe, dass dieser Artikel beim Entwurf und der Implementierung der Like-Funktion in der fortgeschrittenen PHP-Programmierung hilfreich sein wird. Dies ist nur ein einfaches Beispiel. Praktische Anwendungen erfordern möglicherweise eine komplexere Logik und Optimierung und müssen von Entwicklern weiter verbessert und erweitert werden.
Das obige ist der detaillierte Inhalt vonFortgeschrittene PHP-Programmierung: Design und Implementierung der Like-Funktion für mehrere Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!