Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit PHP einfache Artikelkennzeichnungs- und Klassifizierungsfunktionen entwickelt

Wie man mit PHP einfache Artikelkennzeichnungs- und Klassifizierungsfunktionen entwickelt

WBOY
WBOYOriginal
2023-09-20 17:15:11878Durchsuche

Wie man mit PHP einfache Artikelkennzeichnungs- und Klassifizierungsfunktionen entwickelt

So verwenden Sie PHP, um einfache Funktionen zur Artikelkennzeichnung und -klassifizierung zu entwickeln

Im Prozess der Website-Entwicklung sind Artikelkennzeichnungs- und -klassifizierungsfunktionen sehr häufige Anforderungen. Durch das Hinzufügen von Tags und Kategorien zu Artikeln können Benutzer diese nach ihren Bedürfnissen durchsuchen und filtern. In diesem Artikel wird anhand spezifischer Codebeispiele erläutert, wie Sie mit PHP einfache Artikel-Tags und Klassifizierungsfunktionen entwickeln.

1. Datenbankdesign

Zuerst müssen wir eine Datenbanktabelle entwerfen, um Artikel und entsprechende Tags und Klassifizierungsinformationen zu speichern. Wir können drei Tabellen entwerfen: Artikeltabelle (Artikel), Tag-Tabelle (Tags) und Kategorietabelle (Kategorien).

  1. Article-Tabelle (Artikel):

    • id: Artikel-ID (Primärschlüssel)
    • title: Artikeltitel
    • content: Artikelinhalt
    • category_id: Kategorie-ID (Fremdschlüssel)
  2. tag-Tabelle (Tags):

    • id: Tag-ID (Primärschlüssel)
    • Name: Tag-Name
  3. Kategorien:

    • id: Kategorie-ID (Primärschlüssel)
    • Name: Kategoriename

2. Tags und Klassifizierungsfunktionen zu Artikeln hinzufügen

Als nächstes implementieren wir die Funktionen zum Hinzufügen von Tags und Klassifizierung zu Artikeln. Wenn Benutzer einen Artikel veröffentlichen, können sie die Tags und Kategorien des Artikels auswählen.

  1. Artikelseite hinzufügen

Erstellen Sie zunächst eine Seite zum Hinzufügen von Artikeln (add_article.php). Die Seite enthält ein Formular, in das Benutzer den Titel, den Inhalt, die Tags und die Kategorien des Artikels eingeben können:

<form action="add_article.php" method="POST">
    <input type="text" name="title" placeholder="文章标题"><br><br>
    <textarea name="content" placeholder="文章内容"></textarea><br><br>
    <input type="text" name="tags" placeholder="标签(多个标签用逗号分隔)"><br><br>
    <select name="category">
        <option value="">选择分类</option>
        <!-- 根据分类表动态生成选项 -->
    </select><br><br>
    <input type="submit" value="发布文章">
</form>
  1. Verarbeitung Artikeleinreichung

In der Datei add_article.php müssen wir die vom Benutzer übermittelten Formulardaten verarbeiten und den Titel, Inhalt, Tags und Kategorien des Artikels in der Datenbank speichern:

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

// 处理提交的数据
$title = $_POST['title'];
$content = $_POST['content'];
$tags = $_POST['tags'];
$category = $_POST['category'];

// 插入文章数据
$result = mysqli_query($conn, "INSERT INTO article (title, content, category_id) VALUES ('$title', '$content', '$category')");

// 获取插入文章的ID
$articleId = mysqli_insert_id($conn);

// 处理标签
$tagArray = explode(",", $tags);
foreach ($tagArray as $tag) {
    $tag = trim($tag);
    // 查询标签是否存在
    $tagResult = mysqli_query($conn, "SELECT id FROM tags WHERE name = '$tag'");
    if (mysqli_num_rows($tagResult) == 0) {
        // 标签不存在,插入新的标签
        mysqli_query($conn, "INSERT INTO tags (name) VALUES ('$tag')");
        // 获取插入标签的ID
        $tagId = mysqli_insert_id($conn);
    } else {
        $tagId = mysqli_fetch_assoc($tagResult)['id'];
    }
    // 插入标签和文章的关联关系
    mysqli_query($conn, "INSERT INTO article_tags (article_id, tag_id) VALUES ($articleId, $tagId)");
}

// 关闭数据库连接
mysqli_close($conn);

// 跳转到文章详情页
header("Location: article.php?id=$articleId");
exit;
?>

Im obigen Code müssen wir zuerst Stellen Sie eine Verbindung zur Datenbank her und rufen Sie dann die vom Benutzer übermittelten Artikeldaten ab. Als nächstes fügen wir den Titel, den Inhalt und die Kategorie des Artikels in die Artikeltabelle ein. Dann teilen wir das Beschriftungsfeld durch Kommas in ein Array auf und durchlaufen jedes Etikett im Array. Für jedes Tag fragen wir zunächst ab, ob das Tag bereits in der Datenbank vorhanden ist. Wenn es nicht vorhanden ist, fügen wir ein neues Tag ein und erhalten die ID des Tags. Abschließend fügen wir die Artikel-ID und die Tag-ID in die Artikel-Tag-Tabelle ein.

3. Artikel-Tags und -Kategorien anzeigen

Zuletzt implementieren wir die Funktion zum Anzeigen von Artikel-Tags und -Kategorien. Benutzer können auf das Artikel-Tag oder die Kategorie klicken, um die entsprechende Artikelliste anzuzeigen.

  1. Artikellistenseite anzeigen

Erstellen Sie zunächst eine Seite zur Anzeige der Artikelliste (articles.php). Die Seite enthält alle Artikeltitel und entsprechenden Tags und Kategorien:

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

    // 查询文章数据
    $result = mysqli_query($conn, "SELECT * FROM article");

    // 输出文章列表
    while ($row = mysqli_fetch_assoc($result)) {
        echo "<li><a href='article.php?id=".$row['id']."'>".$row['title']."</a>";
        
        // 查询文章的标签
        echo "<ul>";
        $tagResult = mysqli_query($conn, "SELECT t.name FROM tags t INNER JOIN article_tags at ON t.id = at.tag_id WHERE at.article_id = ".$row['id']);
        while ($tagRow = mysqli_fetch_assoc($tagResult)) {
            echo "<li>".$tagRow['name']."</li>";
        }
        echo "</ul>";

        // 查询文章的分类
        echo "<ul>";
        $categoryResult = mysqli_query($conn, "SELECT c.name FROM categories c WHERE c.id = ".$row['category_id']);
        while ($categoryRow = mysqli_fetch_assoc($categoryResult)) {
            echo "<li>".$categoryRow['name']."</li>";
        }
        echo "</ul>";
        
        echo "</li>";
    }

    // 关闭数据库连接
    mysqli_close($conn);
    ?>
</ul>

Im obigen Code stellen wir zunächst eine Verbindung her die Datenbank und fragen dann alle Artikeldaten ab. Als nächstes verwenden wir eine Schleife, um den Titel jedes Artikels auszugeben und die Tags und Kategorien des entsprechenden Artikels abzufragen. Abschließend schließen wir die Datenbankverbindung.

  1. Artikeldetails anzeigen

Wenn der Benutzer auf den Artikeltitel klickt, müssen wir den detaillierten Inhalt des Artikels und die entsprechenden Tags und Kategorien anzeigen.

Erstellen Sie eine Seite (article.php), die die Details des Artikels anzeigt. Die Seite enthält den Titel, den Inhalt, die Tags und die Kategorien des Artikels:

<?php
// 获取文章ID
$articleId = $_GET['id'];

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

// 查询文章数据
$articleResult = mysqli_query($conn, "SELECT * FROM article WHERE id = $articleId");
$articleRow = mysqli_fetch_assoc($articleResult);

// 查询文章的标签
$tagsResult = mysqli_query($conn, "SELECT t.name FROM tags t INNER JOIN article_tags at ON t.id = at.tag_id WHERE at.article_id = $articleId");

// 查询文章的分类
$categoryResult = mysqli_query($conn, "SELECT c.name FROM categories c WHERE c.id = ".$articleRow['category_id']);
$categoryRow = mysqli_fetch_assoc($categoryResult);

// 关闭数据库连接
mysqli_close($conn);
?>

<h1><?php echo $articleRow['title']; ?></h1>
<p><?php echo $articleRow['content']; ?></p>

<h3>标签</h3>
<ul>
    <?php
    while ($tagRow = mysqli_fetch_assoc($tagsResult)) {
        echo "<li>".$tagRow['name']."</li>";
    }
    ?>
</ul>

<h3>分类</h3>
<ul>
    <li><?php echo $categoryRow['name']; ?></li>
</ul>

Im obigen Code erhalten wir zunächst die ID des Artikels und Verbindung zur Datenbank herstellen. Anschließend fragen wir die Artikeldaten, Tags und Klassifizierungsdaten ab und geben sie auf der Seite aus. Abschließend schließen wir die Datenbankverbindung.

Durch die oben genannten Schritte haben wir die Entwicklung einfacher Artikelkennzeichnungs- und Klassifizierungsfunktionen mithilfe von PHP realisiert. Benutzer können beim Veröffentlichen von Artikeln Tags und Kategorien auswählen und die entsprechende Artikelliste und -details durchsuchen, indem sie auf Tags und Kategorien klicken. Ich hoffe, dieser Artikel ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonWie man mit PHP einfache Artikelkennzeichnungs- und Klassifizierungsfunktionen entwickelt. 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