Php 如果关键字在文章标题中,则MySQL向文章添加标记
这似乎与我的能力和MySQL的知识有点格格不入(我甚至不确定MySQL是否可能做到这一点)。因此,如果有人能帮忙,我们将不胜感激 我想做以下工作:Php 如果关键字在文章标题中,则MySQL向文章添加标记,php,mysql,sql,algorithm,tags,Php,Mysql,Sql,Algorithm,Tags,这似乎与我的能力和MySQL的知识有点格格不入(我甚至不确定MySQL是否可能做到这一点)。因此,如果有人能帮忙,我们将不胜感激 我想做以下工作: 输入/定义关键字,例如mercedes 查找标题中包含该关键字的所有Joomla K2文章 然后将我的关键字mercedes作为标记分配给这些文章中的每一篇 现在。。。有三个表列出了相关列: k2_项目 id,title k2_标签 id,名称,发布(如果发布标签,则分配值1) k2_标记_外部参照 id,tagID,itemID 所以,查询应该从k
mercedes
mercedes
作为标记分配给这些文章中的每一篇id
,title
k2_标签
id
,名称
,发布
(如果发布标签,则分配值1)
k2_标记_外部参照
id
,tagID
,itemID
所以,查询应该从k2_项
表中选择标题中包含关键字
的所有项,检查关键字
是否已在k2_标记
中定义为标记
。之后,应生成新的k2_标记\u外部参照
条目,以将关键字
标记与k2文章项连接起来
我的大学里还没有数据库课程,所以我对这门课有点力不从心,这本应该只是我正在开发的网站的一个简单润色
我们将非常感谢您在这方面提供的任何帮助,我相信这将在以后对社区有所帮助
谢谢 SQL中的部分实际上非常简单。如果您在
k2\u标记\u外部参照(tagId,itemId)
上有一个唯一的索引,这是最简单的。这将检查数据库是否存在重复项
然后你需要做两件事:
- 查找标题中包含关键字的所有项目
- 查找关键字的
tagId
insert into k2_tags_xref(tagId, itemId)
select t.tagId, i.itemId
from k2_items i cross join
(select t.tagId from k2_tags where tag = 'mercedes') t
where i.title like '%mercedes%';
您还需要将标记放入标记表中,如果它还不在那里。但是上面的查询是SQL代码的基础。谢谢!我明天会试试的。我对MySQL的了解还很低。我需要正确地学习如何进行这些连接,以及这个t。而我。“代表”萨迪哈桑,这是你们mods的连锁反应还是什么?这个问题非常具体,并且有一个好的简短的答案,正如戈登在下面演示的。还有什么问题?