php - 按标签搜索引擎

标签 php sql sqlite

所以,我是 PHP 和数据库新手,我在这里遇到一个问题:

我有一个名为 news 的表,其中一列是 tags。此列包含 1 个或多个由空格分隔的标签,例如economics Politics sports。我有一个页面将接收一个或多个标签作为单个参数,并且我必须返回至少包含一个此标签的所有行。

我可以分解标签并根据需要进行尽可能多的数据库访问,但我确信这不是这样做的方法=p

LIKEIN 也不起作用,因为参数可能以任何顺序包含 1 个以上标签。

有什么帮助吗?

最佳答案

这不是构建它的方式。

有一张名为 news 的表、一张名为 Tags 的表和一张名为 TagsToNews 的表。

在tagsToNews中只需记录新闻项ID和标签ID,然后进行连接以获得您想要的内容。这也意味着可以在不破坏所有内容的情况下重命名标签!

关于php - 按标签搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444343/

相关文章:

php - 不使用模板引擎将逻辑与表示分离

php - 获取关联 php 数组的第 n 个键

sql - ORA-00918:列在SELECT中的定义不明确*

java - 无法打开sqlite数据库,指定的目录或数据库文件不存在

c++ - 使用 QtSql.QSqlTableModel 和 QTableView 显示前几行

sql - 如何选择列值以特定字符串开头的行?

php - Magento:在后端代码中以编程方式创建订单

php - 当发出请求并且客户端立即退出时,服务器会发生什么?

php - 无法设置具有多个条件的 WHERE 子句

sql - 每个用户选择当天最晚时间的行