如何使用php和mysql创建标记系统?
我想知道如何用php和mysql数据库创建一个标签系统,我最初的想法是在表中创建一行存储文章,命名标签,并列出用逗号分隔的标签,但我不确定如何创建搜索匹配标签的查询,我不想每次有人点击标签时都要查询每一篇文章。有人能帮忙吗?tbl\U文章有文章ID等 tbl_标签具有tagID等 tbl_taggedarticles有taggedArticleID、articleID、tagID如何使用php和mysql创建标记系统?,php,mysql,database-design,tags,tagging,Php,Mysql,Database Design,Tags,Tagging,我想知道如何用php和mysql数据库创建一个标签系统,我最初的想法是在表中创建一行存储文章,命名标签,并列出用逗号分隔的标签,但我不确定如何创建搜索匹配标签的查询,我不想每次有人点击标签时都要查询每一篇文章。有人能帮忙吗?tbl\U文章有文章ID等 tbl_标签具有tagID等 tbl_taggedarticles有taggedArticleID、articleID、tagID SELECT articleID FROM tbl_taggedarticles WHERE tagID = "se
SELECT articleID FROM tbl_taggedarticles WHERE tagID = "searchedID"
您正在描述文章和标记之间的多对多关系。您可能希望使用中间连接表来解析该关系 现在,要查找与选定标记匹配的所有文章:
SELECT a.article_title
FROM Tag t
INNER JOIN Article_Tag_Xref atx
ON t.tag_id = atx.tag_id
INNER JOIN Article a
ON atx.article_id = a.article_id
WHERE t.tag_name = 'SelectedTagName'
我建议读一读“数据库规范化”。一个好的开始是。查找与给定列表的所有标记匹配的所有项目如何?似乎有3种方法可以做到这一点1)所有标记都作为主表的一部分的非规范化表2)主表具有项目id,第二个表具有项目id和标记,其中项目id和标记都被索引,3)您描述的结构