Php 如何处理文章网站的多类别输入

Php 如何处理文章网站的多类别输入,php,mysql,Php,Mysql,我正在创建一个新闻web应用程序,每个新闻都有一个类别字段,但这个类别可以是一个,也可以是多个。这意味着,一个人只需在一篇新闻文章中输入政治、世界、美国标签。现在,我的问题是如何将其插入数据库。如果我只是直接将标记作为纯文本输入数据库,那么当我必须回显它时,我可以使用explode()将它们分开,如 $row['tags] = 'politics, world, us'; foreach(explode($row['tags') as $tag){ echo "<a href='{

我正在创建一个新闻web应用程序,每个新闻都有一个类别字段,但这个类别可以是一个,也可以是多个。这意味着,一个人只需在一篇新闻文章中输入
政治、世界、美国
标签。现在,我的问题是如何将其插入数据库。如果我只是直接将标记作为纯文本输入数据库,那么当我必须回显它时,我可以使用explode()将它们分开,如

$row['tags] = 'politics, world, us';

foreach(explode($row['tags') as  $tag){
  echo "<a href='{$tag}'> {$tag} </a> ";
}
$row['tags]='politics,world,us';
foreach(将($row['tags')分解为$tag){
回声“;
}

这会回显标签,并为每个标签创建一个超链接,但我的问题是,如果用户只想看到带有特定标签的新闻,这就成了问题,因为我无法查询所有行,排序,分解标签,然后像那样显示新闻提要。这是可行的,但非常麻烦。因此,我会我想问一下如何做到这一点。我确信这涉及到,可能有另一个名为
标记的表,但这是我所能做的

正确的方法是在数据库中建立多对多关系。这将需要额外的表,其中包含相互关联的类别和文章的id

请看具有多个角色的多个用户的示例:


同样,您可以创建文章与类别的关系。正确的方法是在数据库中建立多对多关系。这需要额外的表,其中包含相互关联的类别和文章的id

请看具有多个角色的多个用户的示例:

同样,您可以创建文章与类别之间的关系

您可以使用a存储数据,或者(我建议)添加另一个标记表和一个存储Maciej提到的文章与标记之间关系的表

文章表:

id | title | content
标签表:

id | label
article_id | tag_id
物品标签表:

id | label
article_id | tag_id
考虑添加到最后一个表中,这将使您的生活更轻松。

您可以使用一个表来存储数据,或者(我建议)添加另一个标记表,以及一个存储Maciej提到的文章和标记之间关系的表

文章表:

id | title | content
标签表:

id | label
article_id | tag_id
物品标签表:

id | label
article_id | tag_id
考虑将其添加到最后一个表中,这将使您的生活更轻松