如何使用 php 和 mysql 创建标记系统?

how can i create a tagging system using php and mysql?(如何使用 php 和 mysql 创建标记系统?)
本文介绍了如何使用 php 和 mysql 创建标记系统?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

wondering how i can create a tagging system in php and with a mysql database, my initial thoughts were to create a row in the table where the articles are stored, named tags, and list the tags seperated by commas, but i am not sure how i can create a query that searches for matching tags, i dont want to have to query every article everytime someone clicks a tag. can anyone help?

推荐答案

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

You're describing a many-to-many relationship between Articles and Tags. You'd want to use an intermediate junction table to resolve that relationship.

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

Now, to find all articles that match a selected tag:

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'

这篇关于如何使用 php 和 mysql 创建标记系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)