Php 通配符SQL查询-缩小搜索结果

Php 通配符SQL查询-缩小搜索结果,php,sql,wordpress,Php,Sql,Wordpress,我正在Wordpress数据库上进行通配符搜索,查找“文章标题” 我的结果会有所不同: “职务-1” “职务2” “职位名称#3” “在文章标题1之后” “在文章标题1之前” “在文章标题2之后” “在文章标题2之前” 我想将我的通配符结果限制为: “职务-1” “职务2” “职位名称#3” 我有什么想法或算法可以做到这一点吗 代码 在SQL查询中的WHERE子句中尝试此操作: WHERE FieldName LIKE 'Post Title%'; 您需要在搜索中实现模糊逻辑。但这是

我正在Wordpress数据库上进行通配符搜索,查找“文章标题”

我的结果会有所不同:

  • “职务-1”
  • “职务2”
  • “职位名称#3”
  • “在文章标题1之后”
  • “在文章标题1之前”
  • “在文章标题2之后”
  • “在文章标题2之前”
我想将我的通配符结果限制为:

  • “职务-1”
  • “职务2”
  • “职位名称#3”
我有什么想法或算法可以做到这一点吗


代码


SQL
查询中的
WHERE
子句中尝试此操作:

WHERE FieldName LIKE 'Post Title%';

您需要在搜索中实现模糊逻辑。但这是一个非常复杂的算法,幸运的是已经有一些插件实现了这种算法,比如“”。一旦安装,它将覆盖您当前的搜索机制并添加自己的搜索机制,然后您可以相应地修改它。

如下修改查询:

$query = "SELECT ID, `post_title` FROM `wp_posts` WHERE `post_title` LIKE '".$titleRequest."%'";

$results = $wpdb->get_results($query);

首字母
%
表示“匹配此处的任何内容”-但您不想这样做,只想匹配以请求的标题开头的内容。第二个
%
是可以的-毕竟,您确实希望在文章标题之后进行匹配。

发布您的代码,以便我们能够回答您的问题。我添加了代码,但它需要一个算法来排序结果。为什么它需要排序结果?您的问题是关于限制结果集。如果它不需要排序,请删除
算法
标记-我认为这与这些无关。我的意思是“排序”,从而限制结果集。
$query = "SELECT ID, `post_title` FROM `wp_posts` WHERE `post_title` LIKE '".$titleRequest."%'";

$results = $wpdb->get_results($query);