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