как я могу создать систему тегов, используя php и mysql?


Задаваясь вопросом, как я могу создать систему тегов в php и с базой данных mysql, мои первоначальные мысли были создать строку в таблице, где хранятся статьи, именованные теги и список тегов, разделенных запятыми, но я не уверен, как я могу создать запрос, который ищет соответствующие теги, я не хочу, чтобы запрос каждой статьи каждый раз, когда кто-то нажимает на тег. кто-нибудь может помочь?

2 11

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'

Tbl_articles имеет articleID и т. д.

Tbl_tags имеет tagID и т. д.

Tbl_taggedarticles имеет taggedArticleID, articleID, tagID

SELECT articleID FROM tbl_taggedarticles WHERE tagID = "searchedID"