Heim  >  Artikel  >  Backend-Entwicklung  >  Praktisches PHP-Tutorial: Erstellen Sie ein vollständiges Like-System für mehrere Artikel

Praktisches PHP-Tutorial: Erstellen Sie ein vollständiges Like-System für mehrere Artikel

WBOY
WBOYOriginal
2024-02-27 15:24:04593Durchsuche

Praktisches PHP-Tutorial: Erstellen Sie ein vollständiges Like-System für mehrere Artikel

PHP-Praxis-Tutorial: Erstellen eines vollständigen Like-Systems für mehrere Artikel

In der Webentwicklung ist das Like-System eine sehr häufige Funktion, mit der Benutzer ihre Liebe und Unterstützung für den Inhalt ausdrücken können. In diesem Tutorial verwenden wir PHP, um ein vollständiges Like-System für mehrere Artikel zu erstellen, das es Benutzern ermöglicht, Like-Vorgänge für verschiedene Artikel vorzunehmen.

Analyse der Systemanforderungen

Bevor wir das Like-System erstellen, analysieren wir zunächst die Systemanforderungen:

  1. Benutzer können mehrere Artikel anzeigen und die Artikel liken.
  2. Jeder Artikel kann die Anzahl der Likes anzeigen und Benutzer können die Likes des aktuellen Artikels überprüfen.
  3. Benutzer können denselben Artikel nur einmal mit „Gefällt mir“ markieren und wiederholte „Gefällt mir“-Angaben müssen verhindert werden.

Datenbankdesign

Zuerst müssen wir eine Datenbanktabelle entwerfen, um Artikelinformationen und ähnliche Datensätze zu speichern. Im Folgenden sind die beiden Tabellen aufgeführt, die wir benötigen:

Articles-Tabelle

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

Likes-Tabelle

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

Seitenanzeige

Als Nächstes implementieren wir den Seitenanzeigeteil. Wir benötigen eine Artikellistenseite, auf der Benutzer alle Artikel sehen und die Artikel liken können.

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');
?>

Zusammenfassung

Durch die oben genannten Schritte haben wir ein einfaches Multi-Artikel-ähnliches System implementiert. Wenn ein Benutzer auf der Artikellistenseite auf die Schaltfläche „Gefällt mir“ klickt, aktualisiert das System die Anzahl der „Gefällt mir“-Angaben für den Artikel und zeichnet die „Gefällt mir“-Informationen auf. Dadurch wird sichergestellt, dass der Benutzer denselben Artikel nur einmal mit „Gefällt mir“ markieren kann, während gleichzeitig die Genauigkeit und Konsistenz sichergestellt wird Anzahl der Likes.

Natürlich ist dies nur ein einfaches Beispiel, und in tatsächlichen Anwendungen können weitere Funktionen und Optimierungen erforderlich sein, wie z. B. Benutzerauthentifizierung, Abbruchfunktion usw. Ich hoffe, dass dieses Tutorial Ihnen dabei helfen kann, in tatsächlichen Projekten ein leistungsfähigeres und vollständigeres System aufzubauen.

Das obige ist der detaillierte Inhalt vonPraktisches PHP-Tutorial: Erstellen Sie ein vollständiges Like-System für mehrere Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn