Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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_Regex - Fatal编程技术网

Php 相关行mysql查询

Php 相关行mysql查询,php,mysql,regex,Php,Mysql,Regex,我需要从与刚刚添加的新行相关的表中选择5行 我在一个广告网站上工作,当用户发布一个新广告时,我想链接5个与此广告相关的广告 标准是搜索数据库中存储的其他广告标题中的单词列表(从刚刚添加的新广告标题中提取) 这是一种在MySQL中使用正则表达式来验证单个广告标题中的多个需求的方法 有人能帮我建立MySQL查询来得到这个结果吗 例如: 新广告标题:“销售新安卓智能手机” 摘录世界:“安卓”和“智能手机” 一些广告: 1-“搜索新智能手机” 2-“销售android产品” 3-“新智能手机” 4-“畅

我需要从与刚刚添加的新行相关的表中选择5行

我在一个广告网站上工作,当用户发布一个新广告时,我想链接5个与此广告相关的广告

标准是搜索数据库中存储的其他广告标题中的单词列表(从刚刚添加的新广告标题中提取)

这是一种在MySQL中使用正则表达式来验证单个广告标题中的多个需求的方法

有人能帮我建立MySQL查询来得到这个结果吗

例如:

新广告标题:“销售新安卓智能手机” 摘录世界:“安卓”和“智能手机”

一些广告:

1-“搜索新智能手机”

2-“销售android产品”

3-“新智能手机”

4-“畅销车”

6-“,nwx wxclkn wxc”


查询应返回1,2,3广告的ID。

最简单的方法是将标签与每个广告关联,这样您就可以通过标签本身将广告关联起来。你不能仅仅依靠标题,例如“销售手机”将与你的例子相关,即使它没有任何共同的词


然后,您将检索与广告相关联的标签,并查找具有相同标签的其他广告,按匹配标签的数量对结果进行排序。

谢谢您的回答

我找到了一个解决方案,不用在广告中添加标签,只需从新添加的add中提取所需的单词,然后创建mysql正则表达式,如

摘录词:“安卓”“智能手机”

SQL:


从标题REGEXP'[[::].[[::]].[[::]]所在的ad_表中选择*

此外,您的帖子可能需要更多的澄清。很难说你在问什么。你想让我们帮助你重新发明谷歌广告词吗?这里有一个提示:我很确定他们不使用MySQL或正则表达式。但我有理由肯定网络在某种程度上参与其中。@JohnFx根本不想重新发明谷歌广告词同义词是什么
手机
手机
智能手机
。此外,例如,
Android
可能被认为与
iPhone
相关。你真的需要一些标签系统,如果你想让它工作,你没有足够的话在一个广告标题依赖。另外,
REGEXP
选项的速度要慢得多。。。