PHP-MySQL标记

Gro*_*ler 2 php mysql

我有一个漫画网站,目前允许用户选择他们按类别查看的漫画:图表,办公室,生活,杂项等.

我想实现一个标记系统,类似于我们在StackOverflow上的内容,它将描述每个漫画的更多内容而不是其类别.例如:在图表类别中,我有几个与业务相关的...

我的简单解决方案就是如何处理我的分类 -

  1. 使用tagid,tagname,tagdescription创建"Tags"表
  2. 在漫画表中添加tagid_ForeignKey字段,并为每个帖子添加标签.
  3. 当用户点击代码时,它只会显示带有该代码的帖子...或者如果还指定了某个类别,则会显示该特定代码的特定类别.

然而,这种方法似乎限制我每个类别一个标签.如果我有一个与商业和人际关系相关的漫画怎么办...所以它需要这两个标签.

如何为每个漫画附加多个标签?


编辑:

还有一些问题:

1)我在新的关系表中插入什么内容......什么?

2)另外,while ($row = $tag->fetch_assoc()) {如果有连接,我如何在表格中循环?这不是一个关联数组吗?

3)问题是我正在回应标签选​​择,所以一旦用户点击链接,你怎么能让他们再点击另一个链接来分配第二个标签?

在此输入图像描述

function getTags() {
include 'dbconnect.php';
global $site;

$tag = $mysqli->query("SELECT tagid, tagname FROM tags");   
//$tag = $mysqli->query("SELECT * FROM comics c INNER JOIN comictags ct ON (c.comicID = ct.comicID) WHERE ct.tag_id IN (1, 2, 3) GROUP BY c.comic_id");

mysqli_close($mysqli);

while ($row = $tag->fetch_assoc()) {        
    echo "<a href='?action=homepage&site=" . $site . "&tag=" . $row['tagid'] . "&tagname=" . $row['tagname'] . "'/>" . $row['tagname'] . "</a><br />";
  }

}
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 6

只需添加另一个表.然后你有三个:一个用于标签,一个用于漫画,一个用于关系.您必须使用此间接表来正确存储多对多关系.这允许每个漫画具有零个或多个标签(反之亦然).