【问题标题】:how can i create a tagging system using php and mysql?如何使用 php 和 mysql 创建标记系统?
【发布时间】:2011-07-06 19:52:54
【问题描述】:

想知道如何在 php 和 mysql 数据库中创建标签系统,我最初的想法是在存储文章的表中创建一行,命名标签,并列出用逗号分隔的标签,但我是不知道如何创建一个搜索匹配标签的查询,我不想每次有人点击标签时都查询每篇文章。谁能帮忙?

【问题讨论】:

标签: php mysql database-design tags tagging


【解决方案1】:

tbl_articles 有 articleID 等

tbl_tags 有 tagID 等

tbl_taggedarticles 有 taggedArticleID、articleID、tagID

SELECT articleID FROM tbl_taggedarticles WHERE tagID = "searchedID"

【讨论】:

    【解决方案2】:

    您正在描述文章和标签之间的多对多关系。您可能希望使用中间联结表来解决这种关系。

    现在,要查找与所选标签匹配的所有文章:

    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) 主表的 2 个表具有项目 ID,第二个表具有项目 ID 和标签,其中两个项目 ID和标签被索引和3)你描述的结构
    猜你喜欢
    • 2012-05-28
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 2012-01-07
    • 2019-08-17
    • 1970-01-01
    相关资源
    最近更新 更多