php - 向博客文章添加多个标签的最佳方法是什么?

标签 php mysql tagging

当用户从字段中选择多个标签时,我真的想在博客文章中添加多个标签,但我想知道在 mysql 中存储标签时,我应该有字段来保存所有标签,还是应该通过以下方式存储一个标签:一个即

tags_field = (cats ,animals, fur)

或者

id1 cats

id2 animals

id3 fur

我正在考虑使用第一个示例,然后在将列表呈现给用户时分解列表并将它们分成单个标签! :))谢谢

最佳答案

您应该使用三个表:

  • 一张用于存储帖子的表;每行一篇文章
  • 用于存储标签的一张表;每行一个标签
  • 还有一个可加入的地方,用于存储情侣 tag_id + post_id

这样,一个标签可以被多个帖子使用,一个帖子可以有多个标签——并且不会出现任何类型的数据重复。


所以,基本上,您的表格将如下所示:

posts
  - id ; primary key
  - date
  - title
  - content

tags
  - id ; primary key
  - name

posts_tags
  - tag_id   ; primary key ; foreign key to tags.tag_id
  - post_id  ; primary key ; foreign key to posts.post_id

关于php - 向博客文章添加多个标签的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5450263/

相关文章:

mysql - 游标在触发器内并更新表列

javascript - Tealium utag.link() 不起作用

php - 创建跳转菜单以跳转到不同类别,而无需拆分 MySQL 查询

mysql - 当我尝试将它从 mysql 迁移到 Oracle 时出现 SQL 语句错误

php - 将 Codebird Twitter API 代理从 PHP 转换为 CFML

mysql选择不在时间段内的行(由两列定义)

database - 在数据库中存储标签的最有效方法是什么?

Mercurial,如何标记旧版本的文件

php - mysqli中的位标志是什么意思使用fetch_field_direct

javascript - 在 ajax 中使用 <a> 标签