Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果关键字在文章标题中,则MySQL向文章添加标记_Php_Mysql_Sql_Algorithm_Tags - Fatal编程技术网

Php 如果关键字在文章标题中,则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

这似乎与我的能力和MySQL的知识有点格格不入(我甚至不确定MySQL是否可能做到这一点)。因此,如果有人能帮忙,我们将不胜感激

我想做以下工作:

  • 输入/定义关键字,例如
    mercedes
  • 查找标题中包含该关键字的所有Joomla K2文章
  • 然后将我的关键字
    mercedes
    作为标记分配给这些文章中的每一篇
  • 现在。。。有三个表列出了相关列:

    k2_项目
    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的连锁反应还是什么?这个问题非常具体,并且有一个好的简短的答案,正如戈登在下面演示的。还有什么问题?