Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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过滤搜索类似于Facebook_Php_Mysql_Wordpress_Innodb - Fatal编程技术网

PHP/MySQL过滤搜索类似于Facebook

PHP/MySQL过滤搜索类似于Facebook,php,mysql,wordpress,innodb,Php,Mysql,Wordpress,Innodb,我正在尝试使用PHP和mysql数据库为Wordpress站点构建一个简单的自定义搜索,该搜索将返回许多不同表的结果,例如组、用户和站点,其中每个表的数据都与正在搜索的另一个表无关。我的目标是建立一个类似Facebook的网站,它根据结果的类型对结果进行分组 我已经建立了单独的查询,但我一直在思考如何将它们联系在一起,以便我能够过滤出结果的类型,并像Facebook那样对它们进行相应的分组。有没有一种简单的方法来判断哪些表格的结果来自于哪个表格,或者这些结果是否完全朝着错误的方向发展?我对mys

我正在尝试使用PHP和mysql数据库为Wordpress站点构建一个简单的自定义搜索,该搜索将返回许多不同表的结果,例如
用户
站点
,其中每个表的数据都与正在搜索的另一个表无关。我的目标是建立一个类似Facebook的网站,它根据结果的类型对结果进行分组

我已经建立了单独的查询,但我一直在思考如何将它们联系在一起,以便我能够过滤出结果的类型,并像Facebook那样对它们进行相应的分组。有没有一种简单的方法来判断哪些表格的结果来自于哪个表格,或者这些结果是否完全朝着错误的方向发展?我对mysql了解不够,无法了解最佳实践。以下是我正在运行的示例查询:

SELECT 
    name, slug
FROM 
    ".$bp->groups->table_name."                              
WHERE 
    name LIKE '%".$search_string."%'
        OR 
    name = '%".$exp_string[0]."%'
        OR 
    name IN ('".$join_string."');
试试这个:

SELECT 
    name, slug, '$bp->groups->table_name' as table
FROM 
    ".$bp->groups->table_name."                              
WHERE 
    name LIKE '%".$search_string."%'
        OR 
    name = '%".$exp_string[0]."%'
        OR 
    name IN ('".$join_string."');

这将把表名输出到结果中。我不知道你以后要如何分组..

什么是
slug
?这是
table_name
@Malione中的一列吗?请检查该列。@JaredEitnier感谢您提供的链接查看mysql全文功能,它不会完全解决您的问题,但可能会使您进一步找到解决方案。以下是指向&@maldy的链接,它不需要MyISAM数据库吗?WP是InnoDB